<!-- $LynxId: Lynx_users_guide.html,v 1.124 2014/02/13 13:24:06 tom Exp $ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">

  <title>Lynx Users Guide v2.8.8</title>
  <link rev="made" href="mailto:lynx-dev@nongnu.org">
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii">
  <meta name="description" content=
  "This is the user's guide to Lynx, giving detailed information on how to use the program, and how to change its configuration using the options menu.">
  </head>

<body>
  <h1>Lynx Users Guide v2.8.8</h1>

  <p>Lynx is a fully-featured <em>World Wide Web</em>
  (<em>WWW</em>) client for users running cursor-addressable,
  character-cell display devices (e.g., vt100 terminals, vt100
  emulators running on PCs or Macs, or any other character-cell
  display). It will display <em>Hypertext Markup Language</em>
  (<em>HTML</em>) documents containing links to files on the local
  system, as well as files on remote systems running <em>http</em>,
  <em>gopher</em>, <em>ftp</em>, <em>wais</em>, <em>nntp</em>,
  <em>finger</em>, or <em>cso</em>/<em>ph</em>/<em>qi</em> servers,
  and services accessible via logins to <em>telnet</em>,
  <em>tn3270</em> or <em>rlogin</em> accounts (see <a href=
  "lynx_url_support.html">URL Schemes Supported by Lynx</a>).
  <a href="#Hist">Current</a> versions of Lynx run on Unix, VMS,
  Windows3.x/9x/NT and later, 386DOS and OS/2 EMX.</p>

  <p>Lynx can be used to access information on the <em>WWW</em>, or
  to build information systems intended primarily for local access.
  For example, Lynx has been used to build several <em>Campus Wide
  Information Systems</em> (<em>CWIS</em>). In addition, Lynx can
  be used to build systems isolated within a single LAN.</p>

  <h2 id="TOC"><a name="Contents" id="Contents">Table of
  Contents</a></h2>

  <ul>
    <li><a href="#Help" name="ToC-Help" id="ToC-Help">Lynx online
    help</a></li>

    <li><a href="#Local" name="ToC-Local" id="ToC-Local">Viewing
    local files with Lynx</a></li>

    <li><a href="#Leaving" name="ToC-Leaving" id=
    "ToC-Leaving">Leaving Lynx</a></li>

    <li><a href="#Remote" name="ToC-Remote" id=
    "ToC-Remote">Starting Lynx with a Remote File</a></li>

    <li><a href="#EnVar" name="ToC-EnVar" id="ToC-EnVar">Starting
    Lynx with the WWW_HOME environment variable.</a></li>

    <li><a href="#IntraDocNav" name="ToC-IntraDocNav" id=
    "ToC-IntraDocNav">Navigating hypertext documents with
    Lynx</a></li>

    <li><a href="#Disposing" name="ToC-Disposing" id=
    "ToC-Disposing">Printing, Mailing, and Saving rendered files to
    disk.</a></li>

    <li><a href="#LocalSource" name="ToC-LocalSource" id=
    "ToC-LocalSource">Viewing the HTML document source and editing
    documents</a></li>

    <li><a href="#RemoteSource" name="ToC-RemoteSource" id=
    "ToC-RemoteSource">Downloading and Saving source
    files.</a></li>

    <li><a href="#ReDo" name="ToC-ReDo" id="ToC-ReDo">Reloading
    files and refreshing the display</a></li>

    <li><a href="#Search" name="ToC-Search" id="ToC-Search">Lynx
    searching commands</a></li>

    <li><a href="#InteractiveOptions" name="ToC-InteractiveOptions"
    id="ToC-InteractiveOptions">Lynx Options Menu</a></li>

    <li><a href="#Mail" name="ToC-Mail" id="ToC-Mail">Comments and
    mailto: links</a></li>

    <li><a href="#News" name="ToC-News" id="ToC-News">USENET News
    posting</a></li>

    <li><a href="#Bookmarks" name="ToC-Bookmarks" id=
    "ToC-Bookmarks">Lynx bookmarks</a></li>

    <li><a href="#Jumps" name="ToC-Jumps" id="ToC-Jumps">Jump
    command</a></li>

    <li><a href="#DirEd" name="ToC-DirEd" id="ToC-DirEd">Directory
    Editing</a></li>

    <li><a href="#ColorMouse" name="ToC-ColorMouse" id=
    "ToC-ColorMouse">Using Color &amp; the Mouse</a></li>

    <li><a href="#MiscKeys" name="ToC-MiscKeys" id=
    "ToC-MiscKeys">Scrolling and Other useful commands</a></li>

    <li><a href="#Forms" name="ToC-Forms" id="ToC-Forms">Lynx and
    HTML Forms</a> | <a href="#Images" name="ToC-Images" id=
    "ToC-Images">Lynx and HTML Images</a></li>

    <li><a href="#Tables" name="ToC-Tables" id="ToC-Tables">Lynx
    and HTML Tables</a> | <a href="#Tabs" name="ToC-Tabs" id=
    "ToC-Tabs">Lynx and HTML Tabs</a></li>

    <li><a href="#Frames" name="ToC-Frames" id="ToC-Frames">Lynx
    and HTML Frames</a> | <a href="#Banners" name="ToC-Banners" id=
    "ToC-Banners">Lynx and HTML Banners</a></li>

    <li><a href="#Footnotes" name="ToC-Footnotes" id=
    "ToC-Footnotes">Lynx and HTML Footnotes</a> | <a href="#Notes"
    name="ToC-Notes" id="ToC-Notes">Lynx and HTML Notes</a></li>

    <li><a href="#Lists" name="ToC-Lists" id="ToC-Lists">Lynx and
    HTML Lists</a></li>

    <li><a href="#Quotes" name="ToC-Quotes" id="ToC-Quotes">Lynx
    and HTML Quotes</a></li>

    <li><a href="#Eightbit" name="ToC-Eightbit" id=
    "ToC-Eightbit">Lynx and HTML Internationalization: 8bit,
    UNICODE, etc.</a></li>

    <li><a href="#USEMAP" name="ToC-USEMAP" id="ToC-USEMAP">Lynx
    and Client-Side-Image-Maps</a></li>

    <li><a href="#Refresh" name="ToC-Refresh" id="ToC-Refresh">Lynx
    and Client-Side-Pull</a></li>

    <li><a href="#Cookies" name="ToC-Cookies" id="ToC-Cookies">Lynx
    and State Management</a> (Me want <em>cookie</em>!)</li>

    <li><a href="#Cache" name="ToC-Cache" id="ToC-Cache">Lynx and
    Cached Documents</a></li>

    <li><a href="#Sessions" name="ToC-Sessions" id=
    "ToC-Sessions">Lynx and Sessions</a></li>

    <li><a href="#Invoking" name="ToC-Invoking" id=
    "ToC-Invoking">The Lynx command line</a></li>

    <li><a href="#Environment" name="ToC-Environment" id=
    "ToC-Environment">Environment variables used by Lynx</a></li>

    <li><a href="#lynx.cfg" name="ToC-lynx.cfg" id=
    "ToC-lynx.cfg">Main configuration file lynx.cfg</a></li>

    <li><a href="#Hist" name="ToC-Hist" id="ToC-Hist">Lynx
    development history</a></li>
  </ul>

  <h2 id="id-Help"><a name="Help" id="Help">Lynx online
  help</a></h2>

  <p>Online help is available while viewing any document. Press the
  '<em>?</em>' or '<em>H</em>' key (or the '<em>h</em>' key if
  vi-like key movement is not on) to see a list of help topics. See
  the section titled <a href="#IntraDocNav">Navigating hypertext
  documents with Lynx</a> for information on navigating through the
  help files.</p>

  <p>In addition, a summary description of all the Lynx keystroke
  commands and their key bindings is available by pressing the
  '<em>K</em>' key (or the '<em>k</em>' key if vi-like key movement
  is not on).</p>

  <p>If you want to recall recent status-line messages, you can do
  so by entering the `g' command, followed by `LYNXMESSAGES:'.</p>

  <p>[<a href="#ToC-Help">ToC</a>]</p>

  <h2 id="id-Local"><a name="Local" id="Local">Viewing local files
  with Lynx</a></h2>

  <p>Lynx can be started by entering the Lynx command along with
  the name of a file to display. For example these commands could
  all be used to display an arbitrary ASCII text or HTML file:</p>

  <dl>
    <dt>UNIX</dt>

    <dd><code>lynx filename</code></dd>

    <dd><code>lynx /home/my-dir/filename</code></dd>

    <dd><code>lynx ~/filename</code></dd>

    <dt>VMS</dt>

    <dd><code>lynx filename</code></dd>

    <dd><code>lynx dua5:[my-directory]filename</code></dd>

    <dd><code>lynx /dua5/my-directory/filename</code></dd>

    <dd><code>lynx ~/filename</code></dd>

    <dd><code>lynx sys$login:filename</code></dd>

    <dd><code>lynx /sys$login/filename</code></dd>

    <dt>Win32/DOS</dt>

    <dd><code>lynx file:///filename</code></dd>

    <dd><code>lynx filename</code></dd>

    <dd><code>lynx c:/dir/filename</code></dd>

    <dd><code>lynx //n/dir/filename</code></dd>
  </dl>

  <p>When executed, Lynx will clear the screen and display as much
  of the specified file as will fit on the screen. Pressing a
  <em>down-arrow</em> will bring up the next screen, and pressing
  an <em>up-arrow</em> will bring up the previous screen. If no
  file is specified at startup, a default file will be displayed,
  depending on settings e.g., in <em>lynx.cfg</em>.</p>

  <p>Lynx will display local files written in the <em>HyperText
  Markup Language</em> (<em>HTML</em>), if the file's name ends
  with the characters <em>.html</em>, <em>.htm</em>,
  <em>.shtml</em>, <em>.htmlx</em>, <em>.html3</em>, or
  <em>.ht3</em>. HTML is a file format that allows users to create
  a file that contains (among other things) hypertext links to
  other files. Several files linked together may be described as a
  <em>hypertext document</em>. If the filename does not have one of
  the suffixes mapped by Lynx to HTML, the <em>-force_html</em>
  command line option can be included to force treatment of the
  file as hypertext.</p>

  <p>When Lynx displays an HTML file, it shows links as "bold face"
  text, except for one link, which is shown as "highlighted" text.
  Whether "boldface" or "highlighted" text shows up as reverse
  video, boldface type, or a color change, etc. depends on the
  display device being used (and the way in which that device has
  been configured). Lynx has no control over the exact presentation
  of links.</p>

  <p>The one link displayed as "highlighted" text is the currently
  "selected" link. Lynx will display the file associated with the
  selected link when a <em>right-arrow</em> or a <em>Return</em>
  key is pressed. To select a particular link, press the
  <em>up-arrow</em> or <em>down-arrow</em> keys until the desired
  link becomes "highlighted," and then press the
  <em>right-arrow</em> or <em>Return</em> key to view the linked
  information. Information included in the HTML file tells Lynx
  where to find the linked file and what kind of server will
  provide it (i.e., HTTP, Gopher, etc.).</p>

  <p>Lynx renders HTML files and saves the rendition (and the
  source, if so configured in the <a href="#lynx.cfg">lynx.cfg</a>
  file) for initial display and should you select the link again.
  If you do select a link again and have reason to desire a new
  fetch and rendering of the file, use the NOCACHE command,
  normally mapped to '<em>x</em>' and '<em>X</em>', instead of the
  <em>right-arrow</em> or <em>Return</em> key when positioned on
  the link. You also can force a new fetch and rendering of the
  currently displayed document via the RELOAD command, normally
  mapped to <em>Control-R</em>.</p>

  <p>When a binary file is encountered Lynx will ask the user if
  he/she wishes to download the file or cancel. If the user selects
  '<em>D'</em> for download, Lynx will transfer the file into a
  temporary location and present the user with a list of options.
  The only default option is <em>Save to disk</em>, which is
  disabled if Lynx is running in anonymous mode. Additional
  download methods may be defined in the <a href=
  "#lynx.cfg">lynx.cfg</a> file. Programs like kermit, zmodem and
  FTP are some possible options.</p>

  <p>[<a href="#ToC-Local">ToC</a>]</p>

  <h2 id="id-Leaving"><a name="Leaving" id="Leaving">Leaving
  Lynx</a></h2>

  <p>To exit Lynx use the '<em>q</em>' command. You will be asked
  whether you really want to quit. Answering '<em>y</em>' will exit
  and '<em>n</em>' will return you to the current document. Use
  '<em>Q</em>' or <em>Control-D</em> to quit without
  verification.</p>

  <p>[<a href="#ToC-Leaving">ToC</a>]</p>

  <h2 id="id-Remote"><a name="Remote" id="Remote">Starting Lynx
  with a Remote File</a></h2>

  <p>If you wish to view a remote file (that is, a file residing on
  some computer system other than the one upon which you are
  running Lynx) without first viewing a local file, you must
  identify that file by using a Uniform Resource Locator (URL).
  URLs take the general form:</p>

  <p><code>PROTOCOL :// HOST / PATH</code></p>

  <p>where</p>

  <dl>
    <dt><code>PROTOCOL</code></dt>

    <dd>identifies the communications protocol (<em>scheme</em>)
    used by the server that will provide the file. As mentioned
    earlier, Lynx (and any WWW client) can interact with a variety
    of servers, each with its own protocol.</dd>

    <dt><code>HOST</code></dt>

    <dd>is the Internet address of the computer system on which the
    server is running, and</dd>

    <dt><code>PATH</code></dt>

    <dd>is a scheme-specific field which for some schemes may
    correspond to a directory path and/or filename.</dd>
  </dl>

  <p>Here are some sample URLs.</p>

  <dl>
    <dt>HTTP (HyperText Transfer Protocol)</dt>

    <dd><code>http://lynx.isc.org</code></dd>

    <dt>Gopher</dt>

    <dd><code>gopher://gopher.micro.umn.edu/11/</code></dd>

    <dt>FTP (File Transfer Protocol)</dt>

    <dd><code>ftp://ftp2.cc.ukans.edu/pub/lynx/README</code></dd>

    <dt>WAIS (Wide Area Information Service protocol)</dt>

    <dd><code>wais://cnidr.org/directory-of-servers</code></dd>

    <dt>A URL may be specified to Lynx on the command line, as
    in:</dt>

    <dd><code>lynx
    http://kufacts.cc.ukans.edu/cwis/kufacts_start.html</code></dd>
  </dl>

  <p>Lynx also will attempt to create a complete URL if you include
  adequate portions of it in the startfile argument. For
  example:<br></p>
  <pre>
1234.6789.1234.6789.1234.6789.1234.6789.1234.6789.1234.6789.1234.6789.1234.6789
                 <em>wfbr</em>          will be expanded to:
      <em>http://www.wfbr.edu/</em>     and:
             <em>ftp.more.net/pub</em>  will be expanded to:
       <em>ftp://ftp.more.net/pub</em>
</pre>

  <p>See <a href="lynx_url_support.html">URL Schemes Supported by
  Lynx</a> for more detailed information.</p>

  <p>[<a href="#ToC-Remote">ToC</a>]</p>

  <h2 id="id-EnVar"><a name="EnVar" id="EnVar">Starting Lynx with
  the WWW_HOME environment variable.</a></h2>

  <p>You may also specify a starting file for Lynx using the
  WWW_HOME environment variable,</p>

  <dl>
    <dt>UNIX</dt>

    <dd>
      <dl>
        <dt>ksh</dt>

        <dd><code>export WWW_HOME=http://www.w3.org/</code></dd>

        <dt>csh</dt>

        <dd><code>setenv WWW_HOME http://www.w3.org/</code></dd>
      </dl>
    </dd>

    <dt>VMS</dt>

    <dd><code>define "WWW_HOME" "http://www.w3.org/"</code></dd>

    <dt>win32</dt>

    <dd><code>WWW_HOME=http://www.w3.org/ [or in
    registry]</code></dd>
  </dl>

  <p>Note that on VMS the double-quoting <em>must</em> be included
  to preserve casing.</p>

  <p>[<a href="#ToC-EnVar">ToC</a>]</p>

  <h2 id="id-IntraDocNav"><a name="IntraDocNav" id=
  "IntraDocNav">Navigating hypertext documents with Lynx</a></h2>

  <p>The process of moving within a hypertext web, selecting and
  displaying links is known as "navigation." With Lynx almost all
  navigation can be accomplished with the arrow keys and the
  numeric keypad.</p>
  <pre>
                                       +-------+-------+-------+
                                       | TOP   |  /|\  | Page  |
              arrow keys               | of    |   |   | UP    |
                                       | text 7|   |  8|      9|
              +---------+              +-------+-------+-------+
              | SELECT  |              |       |       |       |
              | prev /|\|              | &lt;---  |       |  ---&gt; |
              | link  | |              |      4|      5|      6|
    +---------+---------+---------+    +-------+-------+-------+
    |    BACK | SELECT  | DISPLAY |    | END   |   |   | Page  |
    |&lt;-- prev | next  | | sel. --&gt;|    | of    |   |   | DOWN  |
    |    doc. | link \|/| link    |    | text 1|  \|/ 2|      3|
    +---------+---------+---------+    +-------+-------+-------+
</pre>

  <p>There are also a few other keyboard commands to aid in
  navigation. The Control and Function keys used for navigation
  within the current document are described in <a href=
  "#MiscKeys"><em>Scrolling and Other useful commands</em></a>.
  Some additional commands depend on the fact that Lynx keeps a
  list of each link you visited to reach the current document,
  called the <a href="keystrokes/history_help.html">History
  Page</a>, and a list of all links visited during the current Lynx
  session, called the <a href=
  "keystrokes/visited_help.html">Visited Links Page</a>. The
  HISTORY keystroke command, normally mapped to <em>Backspace</em>
  or <em>Delete</em>, will show you the <em>History Page</em> of
  links leading to your access of the current document. Any of the
  previous documents shown in the list may be revisited by
  selecting them from the history screen. The VLINKS keystroke
  command, normally mapped to uppercase '<em>V</em>', will show the
  <em>Visited Links Page</em>, and you similarly can select links
  in that list. The MAIN_MENU keystroke command, normally mapped to
  '<em>m</em>' and '<em>M</em>', will take you back to the starting
  document unless you specified the <em>-homepage=URL</em> option
  at the command line. Also, the LIST and ADDRLIST keystroke
  commands, normally mapped to '<em>l</em>' and <em>A</em>'
  respectively, will create a compact lists of all the links in the
  current document, and they can be selected via those lists.</p>

  <p>The '<em>i</em>' key presents an index of documents. The
  default index offered contains many useful links, but can be
  changed in <em>lynx.cfg</em> or on the command line using the
  <em>-index=URL</em> switch.</p>

  <p>If you choose a link to a server with active access
  authorization, Lynx will automatically prompt for a username and
  a password. If you give the correct information, you will then be
  served the requested information. Lynx will automatically send
  your username and password to the same server if it is needed
  again.</p>

  <p>[<a href="#ToC-IntraDocNav">ToC</a>]</p>

  <h2 id="id-Disposing"><a name="Disposing" id=
  "Disposing">Printing, Mailing, and Saving rendered files to
  disk.</a></h2>

  <p>Rendered HTML documents, and plain text files, may be printed
  using the '<em>p</em>' command while viewing the document. After
  pressing the '<em>p</em>' key a menu of <em>Print Options</em>
  will be displayed. The menu will vary according to several
  factors. First, some sites set up special accounts to let users
  run Lynx to access local information systems. Typically these
  accounts require no passwords and do not require users to
  identify themselves. As a result such accounts are called
  "anonymous" accounts, and their users are considered "anonymous"
  users. In most configurations, all Lynx users (including
  anonymous users) are able to mail files to themselves and print
  the entire file to the screen.</p>

  <p>Additional print options are available for users who are using
  Lynx from their own accounts (that is, so-called "non-anonymous
  users"). In particular, the <em>Save to a local file</em> option
  allows you to save the document into a file on your disk space.
  Additional print options may also be available as configured in
  the <a href="#lynx.cfg">lynx.cfg</a> file.</p>

  <p>Some options, such as <em>Save to a local file</em>, involve
  prompting for an output filename. All output filename entries are
  saved in a circular buffer, and any previous entries can be
  retrieved for re-use by pressing the <em>up-arrow</em> or
  <em>down-arrow</em> keys at the prompt.</p>

  <p>Note that if you want exact copies of text files without any
  expansions of TAB characters to spaces you should use the
  <a href="#RemoteSource">Download</a> options.</p>

  <p>[<a href="#ToC-Disposing">ToC</a>]</p>

  <h2 id="id-LocalSource"><a name="LocalSource" id=
  "LocalSource">Viewing the HTML document source and editing
  documents</a></h2>

  <p>When viewing HTML documents it is possible to retrieve and
  display the unrendered (i.e., the original HTML) source of the
  document by pressing the '<em>\</em>' (backslash) key. Lynx
  usually caches only the rendering of the document and doesn't
  keep the source (unless it is configured to do so in the <a href=
  "#lynx.cfg">lynx.cfg</a> file), so to display the source
  unrendered, Lynx must reload it from the server or disk. When
  viewing unrendered documents you may print them as any normal
  document.</p>

  <p>Selecting the <em>Print to a local file</em> option from the
  Print Menu, makes it possible to save the source of the document
  to disk so that you may have a local copy of the document source,
  but it is better to <a href="#RemoteSource">Download</a> the
  source.</p>

  <p>NOTE: When saving an HTML document it is important to name the
  document with a <em>.html</em> or <em>.htm</em> extension, if you
  want to read it with Lynx again later.</p>

  <p id="FileEdit">Lynx can allow users to edit documents that
  reside on the local system. To enable editing, documents must be
  referenced using a "file:" URL or by specifying a plain filename
  on the command line as in the following two examples:</p>

  <dl>
    <dt>Command</dt>

    <dd><code>lynx file://localhost/FULL/PATH/FILENAME</code></dd>

    <dd><code>lynx path/filename.html</code></dd>
  </dl>

  <p>In addition, the user must also specify an editor in the
  <em>Options Menu</em> so that Lynx knows which editor to use. If
  the file is specified correctly and an editor is defined, then
  you may edit documents by using the '<em>e</em>' command. When
  the '<em>e</em>' command is entered your specified editor is
  spawned to edit the file. After changes are completed, exit your
  editor and you will return to Lynx. Lynx will reload and render
  the file so that changes can be immediately examined.</p>

  <p>[<a href="#ToC-LocalSource">ToC</a>]</p>

  <h2 id="id-RemoteSource"><a name="RemoteSource" id=
  "RemoteSource">Downloading and Saving source files.</a></h2>

  <p>If the DOWNLOAD keystroke command ('<em>d</em>' or <em>D</em>)
  is used when positioned on a link for an HTML, plain text, or
  binary file, Lynx will transfer the file, without rendering, into
  a temporary location and present the user with a list of options,
  just as it does when a link for a binary file of a type for which
  no viewer has been mapped is activated.</p>

  <p>There is a default <em>Download option</em> of <em>Save to
  disk</em>. This is disabled if Lynx is running in anonymous mode.
  Any number of download methods such as kermit and zmodem may be
  defined in addition to this default in the <em>lynx.cfg</em>
  file. Using the <em>Save to disk</em> option under the PRINT
  command after viewing the source of an HTML with the VIEW SOURCE
  (<em>\</em>) command will result in a file which differs from the
  original source in various ways such as tab characters expanded
  to spaces. Lynx formats the source presentation in this mode. On
  the other hand, if the DOWNLOAD command is used, the only change
  will be that Lynx optionally puts</p>

  <blockquote>
    <p>&lt;!--X-URL: http://www.site.foo/path/to/file.html
    --&gt;<br>
    &lt;BASE href="http://www.site.foo/path/to/file.html"&gt;</p>
  </blockquote>

  <p>at the start of the file so that relative URLs in the document
  will still work. Even this modification can be prevented by
  setting PREPEND_BASE_TO_SOURCE:FALSE in lynx.cfg.</p>

  <p>Some options, such as <em>Save to disk</em>, involve prompting
  for an output filename. All output filename entries are saved in
  a circular buffer, and any previous entries can be retrieved for
  re-use by pressing the <em>up-arrow</em> or <em>down-arrow</em>
  keys at the prompt.</p>

  <p>[<a href="#ToC-RemoteSource">ToC</a>]</p>

  <h2 id="id-ReDo"><a name="ReDo" id="ReDo">Reloading files and
  refreshing the display</a></h2>

  <p>The RELOAD (<em>Control-R</em>) command will reload and
  re-render the file that you are currently viewing. The REFRESH
  (<em>Control-L</em> or <em>Control-W</em>) command will refresh
  or wipe the screen to remove or correct any errors that may be
  caused by operating system or other messages.</p>

  <p>The NOCACHE ('<em>x</em>' or '<em>X</em>') command can be used
  in lieu of ACTIVATE (<em>Return</em> or <em>right-arrow</em>) to
  request an uncached copy and new rendition for the current link,
  or resubmission of a FORM, if a cache from a previous request or
  submission exits. The request or submission will include
  <em>Pragma: no-cache</em> and <em>Cache-Control: no-cache</em> in
  its headers. Note that FORMs with POST content will be
  resubmitted regardless of whether the NOCACHE or ACTIVATE command
  is used (see <a href="#Forms"><em>Lynx and HTML
  Forms</em></a>).</p>

  <p>[<a href="#ToC-ReDo">ToC</a>]</p>

  <h2 id="id-Search"><a name="Search" id="Search">Lynx searching
  commands</a></h2>

  <p>Two commands activate searching in Lynx: '<em>/</em>' and
  '<em>s</em>'.</p>

  <p>While viewing a normal document use the '<em>/</em>' command
  to find a word or phrase within the current document. The search
  type will depend on the search option setting in the <a href=
  "#InteractiveOptions">Options Menu</a>. The search options are
  case sensitive and case insensitive. These searches are entirely
  local to Lynx.</p>

  <p>Some documents are designated <em>index documents</em> by
  virtue of an ISINDEX element in their HEAD section. These
  documents can be used to retrieve additional information based on
  searches using words or phrases submitted to an index server. The
  Lynx statusline will indicate that you are viewing such a
  document, and if so, the '<em>s</em>' key will invoke a
  statusline prompt to enter a query string. The prompt can be
  specified via a PROMPT attribute in the ISINDEX element.
  Otherwise, Lynx will use an internally configured prompt. The
  address for submitting the search can be specified via an HREF or
  ACTION attribute. Otherwise, Lynx will use the current document's
  URL and append your query string as a <em>?searchpart</em> (see
  <a href="lynx_url_support.html">Supported URLs</a>).</p>

  <p>All search words or strings which you have entered during a
  Lynx session are saved in a circular buffer, and can be retrieved
  for re-use by pressing the <em>up-arrow</em> or
  <em>down-arrow</em> keys at the prompt for a search word or
  string. Also, you can use the '<em>n</em>'ext command to repeat a
  search with the last-entered search word or phrase, starting from
  the current position in the document. The word or phrase matches
  will be highlighted throughout the document, but such
  highlighting will not persist for new documents, or if the
  current document is reloaded. The search cycles to the top of the
  document if the word or phrase is not located below your current
  position.</p>

  <p>Although <a href="#Forms">HTML Forms</a> have largely replaced
  index documents for searches via http servers, they are still
  useful for performing searches directly via WAIS or Gopher
  servers in conjunction with the internal gateways for such
  servers. For example, an HTML index document can act as a
  <em>cover page</em> describing a WAIS database and how to
  formulate query strings for searching it, and include an element
  such as:<br></p>
  <pre>
      <em>&lt;ISINDEX PROMPT="Enter WAIS query:"
               HREF="wais://net.bio.net/biologists-addresses"&gt;</em>
</pre>

  <p>for submitting a search of the Biologist's Addresses database
  directly to the net.bio.net WAIS server.</p>

  <p>[<a href="#ToC-Search">ToC</a>]</p>

  <h2 id="id-InteractiveOptions"><a name="InteractiveOptions" id=
  "InteractiveOptions">Lynx Options Menu</a></h2>

  <p>The Lynx <em>Options Menu</em> may be accessed by pressing the
  '<em>o</em>' key. It allows you to change options at runtime, if
  you need to. Most changes are read from &amp; saved to your
  .lynxrc file; those which are not are marked (!) in the
  form-based menu (as below). Many other options are stored in the
  <a href="#lynx.cfg">lynx.cfg</a> file.</p>

  <p>Lynx supports two styles of Options Menu, key-based &amp;
  form-based. The form-based menu shown below is an HTML file
  generated at runtime, in which the user fills in choices as in
  any ordinary HTML form.</p>
  <pre>
                    Options Menu (Lynx Version 2.8.8pre.2)

    Accept Changes - Reset Changes - Left Arrow cancels changes - HELP!

                         Save options to disk: [ ]
                (options marked with (!) will not be saved)

  General Preferences
  User mode                        : [Advanced____]
  Editor                           : vile______________________________________
  Type of Search                   : [Case insensitive]

  Security and Privacy
  Cookies                          : [ask user__]
  Invalid-Cookie Prompting (!)     : [prompt normally___]
  SSL Prompting (!)                : [prompt normally___]

  Keyboard Input
  Keypad mode                      : [Numbers act as arrows_____________]
  Emacs keys                       : [OFF]
  VI keys                          : [OFF]
  Line edit style                  : [Bash-like Bindings]

  Display and Character Set
  Use locale-based character set   : [ON_]
  Use HTML5 charset replacements(!): [OFF]
  Display character set            : [UNICODE (UTF-8)________________]
  Assumed document character set(!): [iso-8859-1______]
  Raw 8-bit                        : [OFF]
  X Display                        : localhost:0.0_____________________________

  Document Appearance
  Show color                       : [ON____]
  Color style (!)                  : [lynx.lss___________]
  Default colors (!)               : [ON_]
  Show cursor                      : [OFF]
  Underline links (!)              : [OFF]
  Show scrollbar                   : [ON_]
  Popups for select fields         : [ON_]
  HTML error recovery              : [strict (SortaSGML mode)]
  Bad HTML messages (!)            : [Warn, point to trace-file]
  Show images                      : [ignore___]
  Verbose images                   : [OFF__________]

  Headers Transferred to Remote Servers
  Personal mail address            : __________________________________________
  Personal name for mail           : __________________________________________
  Password for anonymous ftp       : __________________________________________
  Preferred media type (!)         : [Accept lynx's internal types]
  Preferred encoding (!)           : [All_____]
  Preferred document character set : _________________________________
  Preferred document language      : en_______________________________
  Send User-Agent header (!)       : [X]
  User-Agent header (!)            : Lynx/2.8.8pre.2 libwww-FM/2.14 SSL-MM/1.4.

  Listing and Accessing Files
  Use Passive FTP (!)              : [ON_]
  FTP sort criteria                : [By Date]
  Local directory sort criteria    : [Directories first]
  Local directory sort order       : [By Date_]
  Show dot files                   : [OFF]
  Pause when showing message (!)   : [ON_]
  Show transfer rate               : [Show KiB/sec (2-digits), ETA__]

  Special Files and Screens
  Multi-bookmarks                  : [ADVANCED]
  Review/edit Bookmarks files      : Goto multi-bookmark menu
  Auto Session (!)                 : [OFF]
  Session file (!)                 : __________________________________________
  Visited Pages                    : [By Last Visit Reversed_]

  View the file lynx.cfg.


        Accept Changes - Reset Changes - Left Arrow cancels changes

</pre>

  <p>The key-based menu depends on key-strokes to identify options
  which the user wants to change. It is compiled into Lynx and is
  accessed by setting FORMS_OPTIONS to TRUE in <a href=
  "#lynx.cfg">lynx.cfg</a>.</p>
  <pre>
             Options Menu (Lynx Version 2.8.8pre.2)

     (E)ditor                     : emacs
     (D)ISPLAY variable           : aixtest.cc.ukans.edu:0.0
     mu(L)ti-bookmarks: OFF       B)ookmark file: lynx_bookmarks.html
     (F)TP sort criteria          : By Filename
     (P)ersonal mail address      : montulli@netscape.com
     (S)earching type             : CASE INSENSITIVE
     preferred document lan(G)uage: en
     preferred document c(H)arset : NONE
     display (C)haracter set      : Western (ISO-8859-1)
     raw 8-bit or CJK m(O)de      : ON      show color (&amp;)  : OFF
     (V)I keys: OFF   e(M)acs keys: OFF     sho(W) dot files: OFF
     popups for selec(T) fields   : ON      show cursor (@) : OFF
     (K)eypad mode                : Numbers act as arrows
     li(N)e edit style            : Default Binding
     l(I)st directory style       : Mixed style
     (U)ser mode                  : Advanced      verbose images (!) : ON
     user (A)gent                 : [User-Agent header]
     local e(X)ecution links      : FOR LOCAL FILES ONLY
</pre>

  <p>An option can be changed by entering the capital letter or
  character in parentheses for the option you wish to change (e.g.,
  '<em>E</em>' for Editor or '<em>@</em>' for show cursor). For
  fields where text must be entered, simply enter the text by
  typing on the keyboard. The <a href=
  "keystrokes/edit_help.html">Line Editor</a> can be used to
  correct mistakes, and <em>Control-U</em> can be used to erase the
  line. When you are done entering a change press the
  <em>Return</em> key to get back to the <em>Command?</em>
  prompt.</p>

  <p>For fields where you must choose one of two choices, press any
  key to toggle the choices and press the <em>Return</em> key to
  finish the change.</p>

  <p>For fields where you potentially have more than two choices,
  popup windows may be evoked which function homologously to those
  for select fields in <a href="#Forms">HTML Forms</a>. The popup
  windows will be invoked only if you have popups for select fields
  set to ON (see below). Otherwise, your cursor will be positioned
  at the current choice, and you can press any key to cycle through
  the choices, then press the <em>Return</em> key to finish the
  change.</p>

  <p>When you are done changing options use the '<em>r</em>'
  command to return to Lynx or the '<em>&gt;</em>' command to save
  the options to a <em>.lynxrc</em> file and return to Lynx.</p>

  <p>The following table describes the options available on the
  <em>Options Menu</em>:</p>

  <dl>
    <dt>Assumed document character set</dt>

    <dd>This option changes the handling of documents which do not
    explicitly specify a charset. Normally Lynx assumes that 8-bit
    characters in those documents are encoded according to
    iso-8859-1 (the official default for the HTTP protocol).
    Unfortunately, many non-English web pages "forget" to include
    proper charset info; this option helps you to browse those
    broken pages if you know by some means what the charset is.
    When the value given here or by an -assume_charset command line
    flag is in effect, Lynx will treat documents as if they were
    encoded accordingly. This option active when 'Raw 8-bit or CJK
    Mode' is OFF.</dd>

    <dt>Auto Session</dt>

    <dt>Lynx can save and restore useful information about your
    browsing history. Use this setting to enable or disable the
    feature.</dt>

    <dt>Bad HTML messages</dt>

    <dd>
      Suppress or redirect Lynx's messages about "Bad HTML":

      <dl>
        <dt>Ignore</dt>

        <dd>do not warn; no details are written to the
        trace-file.</dd>

        <dt>Add to trace-file</dt>

        <dd>add the detailed warning message to the
        trace-file.</dd>

        <dt>Add to LYNXMESSAGES</dt>

        <dd>add the detailed warning message to the message page at
        "LYNXMESSAGES:".</dd>

        <dt>Warn, point to trace-file</dt>

        <dd>show a warning message on the status line; the complete
        message is written to the trace-file.</dd>
      </dl>
    </dd>

    <dt>Bookmark file</dt>

    <dd>
      When multi-bookmarks is OFF, this is the filename and
      location of your default personal bookmark file. Enter
      '<em>B</em>' to modify the filename and/or location via the
      <a href="keystrokes/edit_help.html">Line Editor</a>. Bookmark
      files allow frequently traveled links to be stored in
      personal easy to access files.

      <p>Using the '<em>a</em>'dd bookmark link command (see
      <a href="#Bookmarks">Lynx bookmarks</a>) you may save any
      link that does not have associated POST content into a
      bookmark file. All bookmark files must be in or under your
      account's home directory. If the location specified does not
      begin with a dot-slash (./), its presence will still be
      assumed, and referenced to the home directory.</p>

      <p>When multi-bookmarks is STANDARD or ADVANCED, entering
      '<em>B</em>' will invoke a menu of up to 26 bookmark files
      (associated with the letters of the English alphabet), for
      editing their filenames and locations (<em>filepath</em>),
      and descriptions.</p>

      <p>Lynx will create bookmark files, if they don't already
      exist, when you first '<em>a</em>'dd a bookmark link to them.
      However, if you've specified a subdirectory (e.g.,
      ./BM/lynx_bookmarks.html), that subdirectory must already
      exist. Note that on VMS you should use the URL syntax for the
      filepath (e.g., <em>not</em> [.BM]lynx_bookmarks.html).</p>
    </dd>

    <dt>Cookies</dt>

    <dd>This option allows you to tell how to handle cookies:
    <em>ignore</em>, prompt (<em>ask user</em>) or <em>accept
    all</em>.</dd>

    <dt>Display Character set</dt>

    <dd>This option allows you to set up the default character set
    for your specific terminal. The display character set provides
    a mapping from the character encodings of viewed documents and
    from HTML entities into viewable characters. It should be set
    according to your terminal's character set so that characters
    other than 7-bit ASCII can be displayed correctly, using
    approximations if necessary. You must have the selected
    character set installed on your terminal. (Since Lynx now
    supports a wide range of platforms it may be useful to note
    that cpXXX codepages used within IBM PC computers, and
    windows-xxxx within native MS-Windows apps.)</dd>

    <dt>Editor</dt>

    <dd>The editor to be invoked when editing browsable files, when
    sending mail or comments, when preparing a news article for
    posting, and for external TEXTAREA editing. The full pathname
    of the editor command should be specified when possible.</dd>

    <dt>Emacs keys</dt>

    <dd>
      If set to ON then the CTRL-P, CTRL-N, CTRL-F, and CTRL-B keys
      will be mapped to up-arrow, down-arrow, right-arrow, and
      left-arrow, respectively. Otherwise, they remain mapped to
      their configured bindings (normally UP_TWO lines, DOWN_TWO
      lines, NEXT_PAGE, and PREV_PAGE, respectively).

      <p>Note: this has no direct effect on the line-editor's key
      bindings.</p>
    </dd>

    <dt>Execution links<br>
    This deals with execution of local scripts or links:</dt>

    <dd>Local execution is activated when Lynx is first set up. If
    it has not been activated you will not see this option in the
    <em>Options Menu</em>.</dd>

    <dd>
      When a local execution script is encountered Lynx checks the
      users options to see whether the script can be executed.
      Users have the following options:

      <dl>
        <dt>Always off</dt>

        <dd>Local execution scripts will never be executed</dd>

        <dt>For Local files only</dt>

        <dd>Local execution scripts will only be executed if the
        script to be executed resides on the local machine, and is
        referenced by a URL that begins with
        <em>file://localhost</em></dd>

        <dt>Always on</dt>

        <dd>All local execution scripts will be executed</dd>
      </dl>
    </dd>

    <dd>If the users options permit the script to be executed Lynx
    will spawn a shell and run the script. If the script cannot be
    executed Lynx will show the script within the Lynx window and
    inform the user that the script is not allowed to be executed
    and will ask the user to check his/her options.</dd>

    <dt>FTP sort criteria</dt>

    <dd>This option allows you to specify how files will be sorted
    within FTP listings. The current options include "<code>By
    Filename</code>", "<code>By Size</code>", "<code>By
    Type</code>", and "<code>By Date</code>".</dd>

    <dt>HTML error recovery</dt>

    <dd>Select the <a href=
    "keystrokes/option_help.html#tagsoup">recovery mode</a> used by
    Lynx.</dd>

    <dt>Invalid-Cookie Prompting</dt>

    <dd>This allows you to tell how to handle invalid cookies:
    <em>prompt normally</em> to prompt for each cookie, <em>force
    yes-response</em> to reply "yes" to each prompt, <em>force
    no-response</em> to reply "no" to each prompt.</dd>

    <dt>Keypad mode</dt>

    <dd>This option gives the choice among navigating with the
    arrow keys, or having every link numbered so that the links may
    be selected or made current by numbers as well as using the
    arrow keys, or having every link as well as every form field
    numbered so that they can be selected or sought by numbers. See
    the<br>
    &nbsp;&nbsp;<a href="keystrokes/follow_help.html">Follow link
    (or page) number:</a> and<br>
    &nbsp;&nbsp;<a href=
    "keystrokes/follow_help.html#select-option">Select option (or
    page) number:</a><br>
    help for more information.</dd>

    <dt>Line edit style</dt>

    <dd>This option allows you to set alternative key bindings for
    the built-in line editor, if alternative line-edit bindings
    have been compiled in. Otherwise, Lynx uses the <a href=
    "keystrokes/edit_help.html">Default Binding</a>.</dd>

    <dt>Local directory sort criteria</dt>

    <dd>
      This applies to directory editing. Files and directories can
      be presented in the following ways:

      <dl>
        <dt>Mixed style</dt>

        <dd>Files and directories are listed together in
        alphabetical order.</dd>

        <dt>Directories first</dt>

        <dd>Files and directories are separated into two
        alphabetical lists. Directories are listed first.</dd>

        <dt>Files first</dt>

        <dd>Files and directories are separated into two
        alphabetical lists. Files are listed first.</dd>
      </dl>
    </dd>

    <dt>Local directory sort order</dt>

    <dd>
      The Options Form also allows you to sort by the file
      attributes.

      <dl>
        <dt>By name</dt>

        <dd>by filename (the default)</dd>

        <dt>By size</dt>

        <dd>by file size, in descending order</dd>

        <dt>By date</dt>

        <dd>by file modification time, in descending order</dd>

        <dt>By mode</dt>

        <dd>by file protection</dd>

        <dt>By type</dt>

        <dd>by filename suffix, e.g., the text beginning with
        '.'</dd>

        <dt>By user</dt>

        <dd>by file owner's user-id</dd>

        <dt>By group</dt>

        <dd>by file owner's group-id</dd>
      </dl>
    </dd>

    <dt>Multi-bookmarks</dt>

    <dd>Lynx supports a default bookmark file, and up to 26 total
    bookmark files (see below). When multi-bookmarks is OFF, the
    default bookmark file is used for the '<em>v</em>'iew bookmarks
    and '<em>a</em>'dd bookmark link commands. If multi-bookmark
    support is available in your account, the setting can be
    changed to STANDARD or ADVANCED. In STANDARD mode, a menu of
    available bookmarks always is invoked when you seek to view a
    bookmark file or add a link, and you select the bookmark file
    by its letter token (see <em>Bookmark file</em>, below) in that
    menu. In ADVANCED mode, you instead are prompted for the letter
    of the desired bookmark file, but can enter '<em>=</em>' to
    invoke the STANDARD selection menu, or <em>RETURN</em> for the
    default bookmark file.</dd>

    <dt>Password for anonymous ftp</dt>

    <dd>If this is blank, Lynx will use your personal mail address
    as the anonymous ftp password. Though that is the convention,
    some users prefer to use some other string which provides less
    information. If the given value lacks a "@", Lynx also will use
    your computer's hostname as part of the password. If both this
    field and the personal mail address are blank, Lynx will use
    your $USER environment variable, or "WWWuser" if even the
    environment variable is unset.</dd>

    <dt>Pause when showing message</dt>

    <dd>If set to "off", this overrides the INFOSECS setting in
    lynx.cfg, to eliminate pauses when displaying informational
    messages, like the "-nopause" command line option.</dd>

    <dt>Personal mail address</dt>

    <dd>This mail address will be used to help you send files to
    yourself and will be included as the From: address in any mail
    or comments that you send. It will also be sent as the From:
    field in HTTP or HTTPS requests if inclusion of that header has
    been enabled via the NO_FROM_HEADER definition in <a href=
    "#lynx.cfg">lynx.cfg</a> (the compilation default is not to
    send the header), or via the <em>-from</em> command line
    toggle.</dd>

    <dt>Personal mail name</dt>

    <dd>This mail name will be included as the "X-Personal_Name"
    field in any mail or comments that you send if that header has
    not been disabled via the NO_ANONYMOUS_EMAIL definition in
    <a href="#lynx.cfg">lynx.cfg</a>.</dd>

    <dt>Popups for select fields</dt>

    <dd>Lynx normally uses a popup window for the OPTIONs in form
    SELECT fields when the field does not have the MULTIPLE
    attribute specified, and thus only one OPTION can be selected.
    The use of popup windows can be disabled by changing this
    setting to OFF, in which case the OPTIONs will be rendered as a
    list of radio buttons. Note that if the SELECT field does have
    the MULTIPLE attribute specified, the OPTIONs always are
    rendered as a list of checkboxes.</dd>

    <dt>Preferred document language</dt>

    <dd>The language you prefer if multi-language files are
    available from servers. Use RFC 1766 abbreviations, e.g., en
    for English, fr for French, etc. Can be a comma-separated list,
    which may be interpreted by servers as descending order of
    preferences. You can also make your order of preference
    explicit by using q factors as defined by the HTTP protocol,
    for servers which understand it, for example:
    da,&nbsp;en-gb;q=0.8,&nbsp;en;q=0.7</dd>

    <dt>Preferred document charset</dt>

    <dd>The character set you prefer if sets in addition to
    ISO-8859-1 and US-ASCII are available from servers. Use MIME
    notation (e.g., ISO-8859-2) and do not include ISO-8859-1 or
    US-ASCII, since those values are always assumed by default. Can
    be a comma-separated list, which may be interpreted by servers
    as descending order of preferences. You can also make your
    order of preference explicit by using q factors as defined by
    the HTTP protocol, for servers which understand it, for
    example: iso-8859-5,&nbsp;utf-8;q=0.8</dd>

    <dt>Preferred encoding</dt>

    <dd>When doing a GET, lynx tells what types of compressed data
    it can decompress (the "Accept-Encoding:" string). This is
    determined by compiled-in support for decompression or external
    decompression programs. Use this option to select none, one or
    all of the supported decompression types.</dd>

    <dt>Preferred media type</dt>

    <dd>
      When doing a GET, lynx lists the MIME types which it knows
      how to present (the "Accept:" string). Depending on your
      system configuration, the mime.types or other data given by
      the GLOBAL_EXTENSION_MAP may include many entries that lynx
      really does not handle. Use this option to select one of the
      built-in subsets of the MIME types that lynx could list in
      the Accept.

      <dl>
        <dt>Accept lynx's internal types</dt>

        <dd>list only the types that are compiled into lynx.</dd>

        <dt>Also accept lynx.cfg's types</dt>

        <dd>lists types defined in lynx.cfg, e.g., the VIEWER and
        Cern RULE or RULESFILE settings.</dd>

        <dt>Also accept user's types</dt>

        <dd>lists types from the PERSONAL_EXTENSION_MAP setting in
        lynx.cfg</dd>

        <dt>Also accept system's types</dt>

        <dd>lists types from the GLOBAL_EXTENSION_MAP setting in
        lynx.cfg</dd>

        <dt>Accept all types</dt>

        <dd>adds the types that are in lynx's built-in tables for
        external programs that may be used to present a
        document.</dd>
      </dl>
    </dd>

    <dt>Raw 8-bit or CJK Mode</dt>

    <dd>Whether 8-bit characters are assumed to correspond with the
    display character set and therefore are processed without
    translation via the chartrans conversion tables. Should be ON
    by default when the display character set is one of the Asian
    (CJK) sets and the 8-bit characters are Kanji multibytes.
    Should be OFF for the other display character sets, but can be
    turned ON when the document's charset is unknown (e.g., is not
    ISO-8859-1 and no charset parameter was specified in a reply
    header from an HTTP server to indicate what it is) but you know
    by some means that you have the matching display character set
    selected. Should be OFF when an Asian (CJK) set is selected but
    the document is ISO-8859-1 or another 'assumed document
    character set'. The setting also can be toggled via the
    RAW_TOGGLE command, normally mapped to '<em>@</em>', and at
    startup via the <em>-raw</em> switch.</dd>

    <dt>Send User-Agent header</dt>

    <dd>Controls whether the user-agent string will be sent.</dd>

    <dt>Session file</dt>

    <dd>Define the file name where lynx will store user sessions.
    This setting is used only when <em>Auto Session</em> is
    enabled.</dd>

    <dt>Show color</dt>

    <dd>This option will be present if color support is available.
    If set to ON or ALWAYS, color mode will be forced on if
    possible. If (n)curses color support is available but cannot be
    used for the current terminal type, selecting ON is rejected
    with a message. If set to OFF or NEVER, color mode will be
    turned off.<br>
    ALWAYS and NEVER are not offered in anonymous accounts. If
    saved to a <em>.lynxrc</em> file in non-anonymous accounts,
    ALWAYS will cause Lynx to set color mode on at startup if
    supported. If Lynx is built with the slang library, this is
    equivalent to having included the <em>-color</em> command line
    switch or having the <em>COLORTERM</em> environment variable
    set. If color support is provided by curses or ncurses, this is
    equivalent to the default behavior of using color when the
    terminal type supports it. If (n)curses color support is
    available but cannot be used for the current terminal type, the
    preference can still be saved but will have no effect.<br>
    A saved value of NEVER will cause Lynx to assume a monochrome
    terminal at startup. It is similar to the <em>-nocolor</em>
    switch, but (when the slang library is used) can be overridden
    with the <em>-color</em> switch.<br>
    If the setting is OFF or ON when the current options are saved
    to a <em>.lynxrc</em> file, the default startup behavior is
    retained, such that color mode will be turned on at startup
    only if the terminal info indicates that you have a
    color-capable terminal, or (when the slang library is used) if
    forced on via the <em>-color</em> switch or <em>COLORTERM</em>
    variable. This default behavior always is used in anonymous
    accounts, or if the <em>option_save</em> restriction is set
    explicitly. If for any reason the startup color mode is
    incorrect for your terminal, set it appropriately on or off via
    this option.</dd>

    <dt>Show cursor</dt>

    <dd>Lynx normally hides the cursor by positioning it to the
    right and if possible the very bottom of the screen, so that
    the current link or OPTION is indicated solely by its
    highlighting or color. If show cursor is set to ON, the cursor
    will be positioned at the left of the current link or OPTION.
    This is helpful when Lynx is being used with a speech or
    braille interface. It also is useful for sighted users when the
    terminal cannot distinguish the character attributes used to
    distinguish the current link or OPTION from the others in the
    screen display.</dd>

    <dt>Show dot files</dt>

    <dd>If display/creation of hidden (dot) files/directories is
    enabled, you can turn the feature on or off via this
    setting.</dd>

    <dt>Show images</dt>

    <dd>
      This allows you to select the way in which Lynx shows image
      links. These are the available selections:

      <ul>
        <li><em>ignore</em> to suppress the links altogether,</li>

        <li><em>as labels</em> to show the descriptive text for the
        link</li>

        <li><em>as links</em>, which allows you to use an external
        viewer</li>
      </ul>
    </dd>

    <dt>Show scrollbar</dt>

    <dd>This allows you to enable (show) or disable (hide) the
    scrollbar on the right-margin of the display. This feature is
    available with ncurses or slang libraries.</dd>

    <dt>Show transfer rate</dt>

    <dd>
      This allows you to select the way in which Lynx shows its
      progress in downloading large pages. It displays its progress
      in the status line. These are the available selections:

      <ul>
        <li>Do not show rate</li>

        <li>Local directory sort order</li>

        <li>Show dot files</li>

        <li>Execution links</li>

        <li>Pause when showing message</li>

        <li>Show transfer rate</li>
      </ul>
    </dd>

    <dt>SSL Prompting</dt>

    <dd>This allows you to tell how to handle errors detected in
    SSL connections <em>prompt normally</em> to prompt for each
    cookie, <em>force yes-response</em> to reply "yes" to each
    prompt, <em>force no-response</em> to reply "no" to each
    prompt.</dd>

    <dt>Type of Search</dt>

    <dd>Searching type has two possible values: CASE INSENSITIVE
    (default) and CASE SENSITIVE. The searching type effects
    inter-document searches only, and determines whether searches
    for words within documents will be done in a case-sensitive or
    case-insensitive manner.</dd>

    <dt>Use HTML5 charset replacements</dt>

    <dd>This option allows lynx to treat pages with ISO-8859-1
    (Latin1) or ASCII encoding as if they were Windows 1252. That
    allows a few punctuation characters to be shown.</dd>

    <dt>Use locale-based character set</dt>

    <dd>This option allows you to request lynx to obtain a MIME
    name from the operating system which corresponds to your locale
    setting. If successful, it overrides the normal setting of the
    display character set.</dd>

    <dt>Underline links</dt>

    <dd>Use underline-attribute rather than bold for links.</dd>

    <dt>Use Passive FTP</dt>

    <dd>This allows you to change whether Lynx uses passive ftp
    connections.</dd>

    <dt>User Agent header</dt>

    <dd>The header string which Lynx sends to HTTP servers to
    indicate the User-Agent is displayed here. Changes may be
    disallowed via the <em>-restrictions</em> switch. Otherwise,
    the header can be changed temporarily to a string such as
    <em>L_y_n_x/2.8.8</em> for access to sites which discriminate
    against Lynx based on checks for the presence of "Lynx" in the
    header. If the User-Agent header has been changed, it can be
    restored to the built-in default value by deleting the modified
    string in the Options Menu. Whenever the User-Agent header is
    changed, the current document is reloaded, with the no-cache
    flags set, on exit from the Options Menu. Changes of the header
    are not saved in the RC file.</dd>

    <dd><em id="noteUA">NOTE:</em> Some sites may regard
    misrepresenting the browser as fraudulent deception, or as
    gaining unauthorized access, if it is used to circumvent
    blocking that was intentionally put in place. Some browser
    manufacturers may find the transmission of their product's name
    objectionable. If you change the User-Agent string, it is your
    responsibility. The Options Menu issues a reminder whenever the
    header is changed to one which does not include "Lynx" or
    "L_y_n_x".</dd>

    <dt>User Mode</dt>

    <dd>
      There are three possible choices: Novice, Intermediate, and
      Advanced.

      <dl>
        <dt>Novice</dt>

        <dd>In Novice mode two lines of help are displayed at the
        bottom of the screen.</dd>

        <dt>Intermediate</dt>

        <dd>Intermediate mode turns off the help lines.</dd>

        <dt>Advanced</dt>

        <dd>Advanced mode displays the URL of the currently
        selected link at the bottom of the screen.</dd>
      </dl>
    </dd>

    <dt>Verbose Images</dt>

    <dd>Controls whether or not Lynx replaces the [LINK], [INLINE]
    and [IMAGE] comments (for images without ALT) with filenames of
    these images. This is extremely useful because now we can
    determine immediately what images are just decorations
    (button.gif, line.gif) and what images are important. This
    setting can also be toggled on startup via the
    <em>-verbose</em> switch.</dd>

    <dt>VI keys</dt>

    <dd>
      If set to ON then the lowercase h, j, k, and l keys will be
      mapped to left, down, up, and right arrow, respectively. The
      uppercase H, J, K, and L keys remain mapped to their
      configured bindings (normally HELP, JUMP, KEYMAP, and LIST,
      respectively).

      <p>Note: this has no effect on the line-editor's key
      bindings.</p>
    </dd>

    <dt>Visited Pages</dt>

    <dd>
      Enable several different views of the visited links:

      <dl>
        <dt>By First Visit</dt>

        <dt>By First Visit Reversed</dt>

        <dt>As Visit Tree</dt>

        <dt>By Last Visit</dt>

        <dt>By Last Visit Reversed</dt>
      </dl>
    </dd>

    <dt>X Display</dt>

    <dd>This option is only relevant to X Window users. The DISPLAY
    (Unix) or DECW$DISPLAY (VMS) variable is picked up
    automatically from the environment if it has been previously
    set.</dd>
  </dl>

  <p>[<a href="#ToC-InteractiveOptions">ToC</a>]</p>

  <h2 id="id-Mail"><a name="Mail" id="Mail">Comments and mailto:
  links</a></h2>

  <p>At any time while viewing documents within Lynx, you may use
  the '<em>c</em>' command to send a mail message to the owner of
  the current document if the author of the document has specified
  ownership. (Note to authors: if you want to assign the ownership
  to your document, you need to add into HEAD section a LINK
  element with appropriate value for REV attribute. Two values are
  recognized: <em>owner</em> and <em>made</em> (these are case
  insensitive). For example,</p>
  <pre>
&lt;HEAD&gt;
    &hellip;
    &lt;LINK REV="made" HREF="mailto:user@somedomain.com"&gt;
    &hellip;
&lt;/HEAD&gt;
</pre>

  <p>You may also add a TITLE attribute with, for example, the name
  of your page) If no ownership is specified then comments are
  disabled. Certain links called <a href=
  "lynx_url_support.html#mailto_url">mailto:</a> links will also
  allow you to send mail to other people. Using the mail features
  within Lynx is straightforward.</p>

  <p>Once you have decided to send a comment or have selected a
  <em>mailto:</em> link a new screen will appear showing you to
  whom you are sending the message. Lynx will ask for your name,
  your e-mail address, and the subject of the message. If you have
  filled in the "personal mail address" field in the <em>Options
  Menu</em>, your e-mail address will be filled in automatically.
  After entering the above information, if you have an editor
  defined in the <em>Options Menu</em> and you are not an anonymous
  user then your specified editor will be spawned for you so that
  you can enter your message. If you do not have an editor defined
  or you are an anonymous user, a simple line mode input scheme
  will allow you to enter your message.</p>

  <p>To finish sending the message, exit your spawned editor or, if
  you are using the simple line mode input scheme, type a
  '<em>.</em>' (period) on a line by itself. You will be asked a
  final time whether to send the message. If you press
  '<em>y</em>', you will be prompted whether to append your
  signature file if one was defined in <a href=
  "#lynx.cfg">lynx.cfg</a> and is accessible, and then the message
  will be sent, whereas if you press '<em>n</em>' the message will
  be deleted. Entering Control-G in response to any prompts also
  will cancel the mailing.</p>

  <p>[<a href="#ToC-Mail">ToC</a>]</p>

  <h2 id="id-News"><a name="News" id="News">USENET News
  posting</a></h2>

  <p>While reading <a href=
  "http://www.w3.org/LineMode/User/AboutNewsServers.html">news</a>
  articles with Lynx you should see a link that says <em>Reply to:
  user@host</em> and, if the nntp server from which you received
  the article supports posting from your site, a link that says
  <em>Followup to: newsgroup(s)</em></p>

  <dl>
    <dt>Reply to user@host</dt>

    <dd>user@host will correspond to the mail address of the person
    who posted the news article. Selecting the link will allow you
    to send a message to the person who wrote the message you are
    currently viewing. You will be given the option of including
    the original message in your reply.</dd>

    <dt>Followup to newsgroup(s)</dt>

    <dd>Selecting this link will allow you to post back to the
    newsgroup that you are currently reading and any newsgroups to
    which the message was cross-posted. You will be given the
    option of including the original message in your reply. Once
    you have typed in your message, you will be asked for
    confirmation of whether to proceed with the posting, and
    whether to append your signature file if one was defined in
    <a href="#lynx.cfg">lynx.cfg</a> and is accessible. See
    <a href="lynx_url_support.html">Supported URLs</a> for more
    information about the URL schemes for posting or sending
    followups (replies) to nntp servers with Lynx. [<a href=
    "#ToC-News">ToC</a>]</dd>
  </dl>

  <p>See also <a href=
  "http://www.w3.org/Protocols/rfc977/rfc977">RFC 977</a>.</p>

  <h2 id="id-Bookmarks"><a name="Bookmarks" id="Bookmarks">Lynx
  bookmarks</a></h2>

  <p>Bookmarks are entries in your <em>bookmark file</em>, which
  record the URL of a document you may want to return to easily,
  with a name of your choice to identify the document. To use
  bookmarks you must first have specified a name for your bookmark
  file in <a href="#lynx.cfg">lynx.cfg</a> or via the <em>Options
  Menu</em>.</p>

  <p>To save a bookmark to the document you wish to place in the
  bookmark file press the '<em>a</em>' key and you will be
  asked:</p>

  <blockquote>
    <p>Save D)ocument or L)ink to bookmark file or C)ancel?
    (d,l,c):</p>
  </blockquote>

  <p>Answer '<em>d</em>' to save a link to the document you are
  currently viewing or '<em>l</em>' to save the link that is
  currently selected on the page. Selecting '<em>c</em>' will
  cancel without saving anything to your bookmark file.</p>

  <p>A bookmark file will be created in conjunction with acting on
  the '<em>a</em>'dd command if it does not already exist.
  Otherwise, the link will be added to the bottom of the
  pre-existing bookmark file. You must have created a bookmark file
  via the '<em>a</em>'dd command before you can view it.</p>

  <p>Use the '<em>v</em>' command to view the list of bookmarks you
  have saved. While viewing the bookmark list you may select a
  bookmark as you would any other link.</p>

  <p>You can remove a link from the bookmark list by pressing the
  '<em>r</em>' key when positioned on that link. You also can use a
  standard text editor (e.g., via the '<em>e</em>'dit command while
  viewing a bookmark file, if an external editor has been defined
  via the <em>Options menu</em>) to delete or re-order links in the
  bookmark file, or to modify a link name by editing the content of
  the <em>A</em>nchor element for the link, but you should not
  change the format within the line for the link, consisting of an
  <em>LI</em> element followed by the <em>A</em>nchor element, nor
  cause the line to become wrapped to a second line. You similarly
  can change the link destination by editing the double-quoted
  value for the <em>HREF</em> attribute in the <em>A</em>nchor
  start tag, but you should not otherwise change the spacing within
  the start tag, nor add other attributes. You can add a new link
  while editing by copying an existing line for a link, to ensure
  the proper format, and then modifying its <em>HREF</em> value and
  <em>A</em>nchor content, but you should not add any other HTML
  markup to the bookmark file. If the format and spacing (other
  than the <em>A</em>nchor content or <em>HREF</em> value) within
  lines is changed or other HTML markup is added, the
  '<em>a</em>'dd and '<em>r</em>'emove commands may not work
  properly.</p>

  <p>When multi-bookmarks (see <a href=
  "#InteractiveOptions">Options Menu</a>) is OFF, you will always
  view or add links to the default bookmark file. When it is
  STANDARD, a menu of up to 26 bookmark files will be invoked, and
  you select the bookmark file by entering its letter token. When
  it is ADVANCED, you will be prompted for the letter token, but
  can enter '<em>=</em>' to invoke the STANDARD selection menu, or
  <em>RETURN</em> for the default bookmark file. [<a href=
  "#ToC-Bookmarks">ToC</a>]</p>

  <h2 id="id-Jumps"><a name="Jumps" id="Jumps">Jump
  Command</a></h2>

  <p>Similar to the bookmarks file is the jumps file: for an
  example, look in the <em>samples</em> subdirectory in the
  distribution package. To use the jumps command, create a
  <em>jumps file</em> with the same format as the sample file, but
  containing your own URLs &amp; short-cut names. Once you have
  done that, typing '<em>j</em>' prompts you to enter a short-cut
  name, which will take you straight to the URL associated with the
  short-cut in the jumps file, much like using '<em>g</em>'. If you
  want to check which short-cuts are available, type '<em>?</em>'
  at the jump prompt for the full list.</p>

  <p>You can set up a jumps file which makes Lynx prompt for
  parameters, e.g., as part of a search. Do this by putting a "%s"
  marker in the URL at each point where you want Lynx to fill in
  text. When you activate the corresponding jump, Lynx will prompt
  you for the parameters, one by one.</p>

  <p>All jump short-cuts you have entered are saved in a circular
  buffer in the same way as with '<em>g</em>' and '<em>/</em>'
  (search):<br>
  previous entries can be retrieved with <em>up-arrow</em> or
  <em>down-arrow</em>.</p>

  <p>The jumps feature is especially useful for system
  administrators who have unsophisticated users to care for, but
  ordinary Lynx users who have a number of URLs they regularly
  visit while browsing may find using the jumps command speeds
  their movements.</p>

  <p>For more advice how to set up the jumps command on your system
  and how to define short-cut names, read <a href=
  "#lynx.cfg">lynx.cfg</a> .</p>

  <p>[<a href="#ToC-Jumps">ToC</a>]</p>

  <h2 id="id-DirEd"><a name="DirEd" id="DirEd">Directory
  Editing</a></h2>

  <p>Lynx offers extended DIRED support on Unix (on VMS the more
  powerful CSwing program is recommended for character cell
  terminals, and can be offered via Lynx as a jump shortcut or
  execution link). When a local directory is accessed using a URL
  of the form <em>file://localhost/path/</em>, a new set of
  commands is available. With DIRED support you can create, edit,
  delete, copy, and move files on your local system. The commands
  available in DIRED mode are</p>

  <dl>
    <dt><code>C)reate</code></dt>

    <dd>Type '<em>c</em>' to create a new file. New file will be
    empty.</dd>

    <dt><code>D)ownload</code></dt>

    <dd>Type '<em>d</em>' to download using one of the pre-defined
    options.</dd>

    <dt><code>E)dit</code></dt>

    <dd>Type '<em>e</em>' to spawn the editor defined in
    <em>Options Menu</em> and load a selected file for
    editing.</dd>

    <dt><code>F)ull Menu</code></dt>

    <dd>Type '<em>f</em>' to show full menu of options available
    for selection. Menu may vary according to type of file selected
    and compression facilities available. 
    <!-- List of full menu options --></dd>

    <dt><code>M)odify</code></dt>

    <dd>Type '<em>m</em>' to modify the name or location of file.
    Then type '<em>n</em>' to rename the file or '<em>l</em>' to
    move the file to a different location.</dd>

    <dt><code>R)emove</code></dt>

    <dd>Type '<em>r</em>' to remove the selected file or
    directory.</dd>

    <dt><code>T)ag</code></dt>

    <dd>Type '<em>t</em>' to tag highlighted file. Further
    operations will be performed on tagged files instead of
    highlighted ones.</dd>

    <dt><code>U)pload</code></dt>

    <dd>Type '<em>u</em>' to upload a file to the present
    directory. An uploading method must have been pre-defined in
    <a href="#lynx.cfg">lynx.cfg</a> .</dd>
  </dl>

  <p>[<a href="#ToC-DirEd">ToC</a>]</p>

  <h2 id="id-ColorMouse"><a name="ColorMouse" id="ColorMouse">Using
  Color &amp; the Mouse</a></h2>

  <p>A limited range of colors &amp; mouse commands are available,
  if the user chooses: see <em>lynx.cfg</em> for details. [<a href=
  "#ToC-ColorMouse">ToC</a>]</p>

  <h2 id="id-MiscKeys"><a name="MiscKeys" id="MiscKeys">Scrolling
  and Other useful commands</a></h2>

  <p>A summary of all the keystroke commands and their key bindings
  can be invoked via the KEYMAP command, normally mapped to
  '<em>k</em>' and '<em>K</em>'. The following describes some of
  the most commonly used commands.</p>

  <dl>
    <dt><em>^A</em></dt>

    <dd><em>Control-A</em> jumps you to the beginning of the
    current document. It is a synonym for the Keypad <em>Home</em>
    key, and can be used also when <em>Links are numbered</em> mode
    is on. The <em>Find</em> Function key also is a synonym, and
    ideally the latter has been mapped to the Function key labeled
    <em>Home</em> if you are using an IBM Enhanced Keyboard.</dd>

    <dt><em>^E</em></dt>

    <dd><em>Control-E</em> jumps you to the end of the current
    document. It is a synonym for the Keypad <em>End</em> key, and
    can be used also when <em>Links are numbered</em> mode is on.
    The <em>Select</em> Function key also is a synonym, and ideally
    the latter has been mapped to the Function key labeled
    <em>End</em> if you are using an IBM Enhanced Keyboard.</dd>

    <dt><em>^B</em></dt>

    <dd><em>Control-B</em> normally jumps you to the previous page
    of the current document, and thus is a synonym for the Keypad
    and Function <em>Page-Up</em> keys. However, <em>Control-B</em>
    acts as <em>right-arrow</em> when emacs-like key movement is
    enabled (see <a href="#InteractiveOptions">Lynx Options
    Menu</a>).</dd>

    <dt><em>^F</em></dt>

    <dd><em>Control-F</em> normally jumps you to the next page of
    the current document, and thus is a synonym for the Keypad and
    Function <em>Page-Down</em> keys. However, <em>Control-F</em>
    becomes <em>right-arrow</em> when emacs-like key movement is
    enabled.</dd>

    <dt><em>^N</em></dt>

    <dd><em>Control-N</em> normally jumps you forward two lines in
    the current document. The <em>Remove</em> Function key (labeled
    <em>Delete</em> on IBM Enhanced keyboards, and distinct from
    their <em>Backspace</em> key) is a synonym. <em>Control-N</em>
    becomes <em>down-arrow</em> when emacs-like key movement is
    enabled.</dd>

    <dt><em>^P</em></dt>

    <dd><em>Control-P</em> normally jumps you back two lines in the
    current document. The <em>Insert</em> Function key is a
    synonym. <em>Control-P</em> becomes <em>up-arrow</em> when
    emacs-like key movement is enabled.</dd>

    <dt><em>)</em></dt>

    <dd>The <em>)</em> command jumps you forward half a page in the
    current document.</dd>

    <dt><em>(</em></dt>

    <dd>The <em>(</em> command jumps you back half a page in the
    current document.</dd>

    <dt><em>#</em></dt>

    <dd>The '<em>#</em>' command jumps you to the pseudo Toolbar or
    Banner if present in the current document. Use
    <em>left-arrow</em> to return from there to your previous
    position in the document.</dd>

    <dt><em>!</em></dt>

    <dd>When '<em>!</em>' is pressed your default shell will be
    spawned. When you quit or exit the shell you will return to
    Lynx (usually <em>exit</em> under Unix and <em>logout</em>
    under VMS). This command is usually disabled for anonymous
    users. On VMS, '<em>$</em>' normally is a synonym. On Win32,
    this has no effect [???].</dd>

    <dt><em>g</em></dt>

    <dd>The '<em>g</em>' command allows any URL to be viewed.
    Pressing the '<em>g</em>' command will bring up a prompt asking
    for a URL. Type in the URL that you wish to view. All
    previously entered goto URLs are saved in a circular buffer,
    and can be accessed at the prompt by pressing the
    <em>up-arrow</em> or <em>down-arrow</em> keys.</dd>

    <dt><em>G</em></dt>

    <dd>The '<em>G</em>' command allows you to edit the URL of the
    current document and then use that as a goto URL. Pressing the
    '<em>G</em>' command will bring up a prompt asking you to edit
    the current document's URL. If you do not modify it, or
    completely delete it, or enter Control-G, the command will be
    cancelled. If the current document has POST content associated
    with it, an Alert will be issued. If you do edit that URL, and
    it does not simply involve a fragment change (for seeking a
    position in the current document), the modified URL will be
    submitted with method GET and no POST content. If a
    modification of the current document's URL results in a
    submission, that modified URL will be entered into the circular
    buffer for goto URLs, and can be accessed for further
    modification via the '<em>g</em>' command.</dd>

    <dt><em>E</em></dt>

    <dd>The '<em>E</em>' command allows you to edit the URL (or
    ACTION) of the current link and then use that as a goto URL.
    Pressing the '<em>E</em>' command will bring up a prompt asking
    you to edit the current link's URL. If you do not modify it, or
    completely delete it, or enter Control-G, the command will be
    cancelled. Otherwise, the request for the 'E'dited URL will be
    sent with method GET, and will be entered into the circular
    buffer for goto URLs so that it can be accessed for further
    modification via the '<em>g</em>' command. Note that lower case
    'e' invokes the external editor for the current document.</dd>

    <dt><em>=</em></dt>

    <dd>The '<em>=</em>' command shows information about the
    current document and the currently selected link if there is
    one. The number of lines in the file, URL, title, owner, and
    type are shown.</dd>

    <dt><em>^T</em></dt>

    <dd><em>Control-T</em> toggles Lynx trace mode on and off. This
    is useful for diagnosing bad html. If you get a <em>Bad
    HTML</em> statusline message when loading a document, enter
    <em>Control-T</em> and then <em>Control-R</em> to reload the
    document in trace mode. You may then examine the <em>Lynx Trace
    Log</em> file with the <em>;</em> command if enabled (see
    below), watch out especially for lines marked with a number of
    asterisks '<code>*****</code>'. You also can submit the
    document for validation via links in the online help menu. If
    you are able to diagnose the problem, send a message about it
    to the document's author.</dd>

    <dt><em>;</em></dt>

    <dd>The <em>;</em> command shows the <em>Lynx Trace Log</em>
    (<em>Lynx.trace</em> in the home directory) if one has been
    started for the current session. If a log has not been started,
    any trace messages will be sent to the screen (and will disturb
    the normal display) unless the system supports piping and that
    was used to redirect stderr messages to a file. The log is
    started when Lynx trace mode is turned on via the
    <em>-trace</em> command line switch, or via the
    <em>Control-T</em> toggle, if Lynx has been compiled to log the
    trace and other stderr messages by default. If not, ability to
    create a log can be toggled on with the <em>-tlog</em> switch.
    Note that this ability is probably disabled in anonymous or
    validation accounts.</dd>

    <dt><a name="asterisk-key" id=
    "asterisk-key"><em>*</em></a></dt>

    <dd>The '<em>*</em>' command toggles image_links mode on and
    off. When on, links will be created for all images, including
    inline images. If you have an image viewer mapped to the
    image's MIME type, you can activate such links to view an
    inline image. You should normally have this mode toggled
    off.</dd>

    <dt><em>@</em></dt>

    <dd>The '<em>@</em>' command toggles raw 8-bit or CJK mode on
    and off. When on, the charset is assumed to match the selected
    character set and 8-bit characters are not reverse translated
    with respect to the ISO-8859-1 conversion tables.</dd>

    <dt><a name="lbracket-key" id=
    "lbracket-key"><em>[</em></a></dt>

    <dd>The '<em>[</em>' command toggles pseudo_inlines mode on and
    off. When on, inline images which have no ALT string specified
    will have an <em>[INLINE]</em> pseudo-ALT string inserted in
    the Lynx display. When off, they will be treated as having
    ALT="" (i.e., they'll be ignored). If image_links mode is
    toggled on, the pseudo-ALT strings will be restored, to serve
    as links to the inline images' sources.</dd>

    <dt><em>]</em></dt>

    <dd>The '<em>]</em>' command is used to send HEAD requests for
    the current document or link. It applies only to documents or
    links (or form submit buttons) of http servers. A statusline
    message will notify you if the context for this command was
    inappropriate. The HEAD requests always are sent to the http
    server, i.e., Lynx does not retrieve any previous server
    replies from its cache. Note that for form submissions, http
    servers vary in whether they'll treat HEAD requests as valid
    and return the CGI script's headers, or treat it as invalid and
    return an error message.</dd>

    <dt><em>^K</em></dt>

    <dd><em>Control-K</em> invokes the <a href=
    "keystrokes/cookie_help.html">Cookie Jar Page</a> if it
    contains cookies.</dd>

    <dt><em>^X</em></dt>

    <dd><em>Control-X</em> invokes the <a href="#Cache">Cache Jar
    Page</a> if it contains cached documents.</dd>

    <dt><em>z</em></dt>

    <dd>Lynx supports completely interruptible I/O processes. Press
    the '<em>z</em>' key at any time during a connect or transfer
    process and the process will be halted. If any data was
    transferred before the interrupt, it will be displayed.</dd>

    <dt><em>numbers</em></dt>

    <dd>Lynx offers other, advanced navigation features when
    numbers are used to invoke the <a href=
    "keystrokes/follow_help.html">Follow Link (or goto link or
    page) number:</a> or <a href=
    "keystrokes/follow_help.html#select-option">Select Pop-up
    Option Number:</a> prompts.</dd>
  </dl>

  <p>[<a href="#ToC-MiscKeys">ToC</a>]</p>

  <h2 id="id-Forms"><a name="Forms" id="Forms">Lynx and HTML
  Forms</a></h2>

  <p>This section describes the Lynx Forms Interface. HTML gives
  document providers the ability to create on-line forms which may
  be filled out when the document is viewed. When a form is
  submitted the information on the form can be used to search a
  database or complete a survey.</p>

  <p>An HTML Form provides for the use of buttons to perform an
  action (such as <em>submit</em>), checkboxes, radio buttons or
  popups to select options from a list, and fields for entering
  text.</p>

  <dl>
    <dt>Buttons:</dt>

    <dd>Buttons are displayed in the same way that Lynx displays
    links in a document. To "push" the button press the
    <em>right-arrow</em> or <em>Return</em> key. If it is a form
    submission button, you also can use the NOCACHE ('<em>x</em>')
    or DOWNLOAD ('<em>d</em>') keystroke commands to "push" the
    button (see below).</dd>

    <dt>Checkboxes and Radio buttons</dt>

    <dd>Checkboxes are displayed as square brackets: <em>[ ]</em>
    and radio buttons are displayed as parenthesis: <em>( )</em>.
    When a box is checked or a button selected, an <em>x</em>
    appears in the brackets: <em>[x]</em> or an asterisk appears
    within the parenthesis: <em>(*)</em>. To check a box or select
    a radio button press the <em>right-arrow</em> or
    <em>Return</em> key.</dd>

    <dt>Selection Fields</dt>

    <dd>Selection fields are displayed as brackets with the default
    option displayed between them: <em>[default__]</em>. To select
    an option press the <em>right-arrow</em> or <em>Return</em>
    key. A box with a border of asterisks (or line-drawing
    characters) will pop up with the list of possible options
    listed within the box. Use the <em>up-arrow</em>,
    <em>down-arrow</em>, <em>page-up</em>, <em>page-down</em>, and
    other navigation keys to move the cursor among options, and the
    <em>right-arrow</em> or <em>Return</em> key to select an
    option. You also can use the '<em>/</em>' and '<em>n</em>'ext
    <a href="#Search">searching</a> commands for navigating to
    options which contain particular strings. <em>NOTE</em> that
    the popup menu feature can be disabled via compilation and/or
    configuration options, or via the <a href=
    "#InteractiveOptions">Options Menu</a>, in which case the
    selection field options will be converted to a list of radio
    buttons. The default setting for use of popups or radio button
    lists can be toggled via the <em>-popup</em> command line
    switch.</dd>

    <dt>Text Entry Fields</dt>

    <dd>
      Text entry (INPUT) fields are displayed as a row of
      underscores the length of the entry field: <em>_______</em>.
      You may enter text directly by typing at the keyboard. Use
      the <a href="keystrokes/edit_help.html">Line Editor</a> keys
      to correct errors. If you try to input more text than the
      field can hold, the line editor will not accept the
      additional characters. If you fill a text field the cursor
      will not move off the field but remain at the last field
      position. Use the <em>up-arrow</em>, and <em>down-arrow</em>,
      <em>TAB</em> or <em>Return</em> keys to move up, or down from
      the text entry field. NOTE, however, that <em>Return</em>
      also will <a href="#submit">submit</a> the form if the text
      entry field is the only non-hidden field in the form. If
      <a name="tna" id="tna">"Textfields Need Activation"</a> mode
      is turned on (with the <kbd>-tna</kbd> command-line option or
      in <a href="#lynx.cfg">lynx.cfg</a>), then text entry fields
      do not become active immediately upon being selected, as
      normally. Keystrokes have their normal command meaning unless
      the Line Editor gets activated with <em>Return</em> or
      <em>Right Arrow</em>. This mode can be used to avoid "getting
      stuck" in input fields, especially by users who rarely fill
      out forms.

      <p><a name="CtrlVNote" id="CtrlVNote">NOTE:</a> If you have a
      text input field selected you will not have access to most of
      the Lynx keystroke commands, because they are interpreted by
      the <a href="keystrokes/edit_help.html">Line Editor</a> as
      either text entries or editing commands. Select a button or
      box when you want to use Lynx keystrokes; or prefix your
      keystroke with <em>^V</em> to temporarily escape from line
      editing.</p>

      <p>Some flavors of UNIX, shells &amp; terminal settings
      require that you enter <em>^V^Ve</em> in order to start the
      external editor, as they also use <em>^V</em> as default
      command-line quote key (called `lnext' in stty man pages and
      `stty -a' output); to avoid this, you can put `stty lnext
      undef' in your .cshrc file (or .profile or .bashrc, depending
      on what shell you use), or invoke Lynx with a wrapper script,
      e.g.</p>

      <p><code>&nbsp;&nbsp;#!/bin/sh<br>
      &nbsp;&nbsp;stty lnext undef<br>
      &nbsp;&nbsp;$HOME/bin/lynx "$@"<br>
      &nbsp;&nbsp;stty lnext ^V<br>
      &nbsp;&nbsp;exit</code></p>

      <p>NB when NOT in the Line Editor, <em>^V</em> is by default
      bound to the command to switch between SortaSGML and TagSoup
      HTML parsing (i.e., SWITCH_DTD). To avoid confusion, either
      of these separate functions could be changed (mapped away)
      with a KEYMAP directive in <em>lynx.cfg</em>. For
      example,</p>

      <p>&nbsp;&nbsp;KEYMAP:^V:DO_NOTHING<br>
      &nbsp;&nbsp;KEYMAP:#:SWITCH_DTD</p>

      <p>would map SWITCH_DTD away from <em>^V</em> to <em>#</em>,
      while leaving its default Line Editor function as a command
      escape in place. On the other hand,</p>

      <p>&nbsp;&nbsp;KEYMAP:^V::NOP:1<br>
      &nbsp;&nbsp;KEYMAP:^_::LKCMD:1</p>

      <p>would move <em>^V</em>'s Line Editor binding as command
      escape to <em>^_</em> for the first Line Edit style, letting
      <em>^V</em> still act as SWITCH_DTD outside of text input
      fields.</p>
    </dd>

    <dt>TEXTAREA Fields</dt>

    <dd>TEXTAREA fields are for most purposes handled as if they
    were a series of text entry (INPUT) fields for which successive
    lines imply a newline at the end of the preceding line. You
    enter text on each line to construct the overall message. Any
    blank lines at the bottom of the TEXTAREA field will be
    eliminated from the submission. The <em>up-arrow</em>, and
    <em>down-arrow</em> or <em>Return</em> keys move you to the
    preceding, or next line of the overall message, as for INPUT
    fields. The <em>TAB</em> key will move you down beyond the
    bottom of the TEXTAREA field, and <em>Back Tab</em> (if
    available, e.g., as Shift-Tab, and correctly mapped in the
    terminal description) will move backward to a link or field
    before the TEXTAREA.</dd>

    <dt>Editing TEXTAREA Fields and Special TEXTAREA Functions</dt>

    <dd>
      TEXTAREA fields can be edited using an external editor. The
      statusline should tell you when this is possible and what key
      to use, it might for example say
      <pre>
          <strong>(Textarea) Enter text. </strong>[ ..... ]<strong> (^Xe for editor).</strong>
</pre>

      <p>An external editor has to be defined, for example in the
      <a href="#InteractiveOptions">Options Menu</a>, before you
      can start using this function.</p>

      <p>A key to invoke external TEXTAREA editing is normally
      provided by the <a href=
      "keystrokes/edit_help.html">Line-Editor Key</a> Bindings. A
      KEYMAP directive in <em>lynx.cfg</em> can also be used to
      make a different key invoke external editing; it will then
      normally be necessary to prefix that key with <em>^V</em> to
      "escape" from line-editing. Two variants exist,<br>
      &nbsp;&nbsp;KEYMAP:e:EDITTEXTAREA<br>
      or<br>
      &nbsp;&nbsp;KEYMAP:e:DWIMEDIT<br>
      (the first is only functional for TEXTAREA editing, while the
      second allows to use the same key for normal <a href=
      "#FileEdit">file editing</a> <em>as long as both functions
      don't conflict</em>).</p>

      <p>Please see the <a href="#CtrlVNote">note above</a> for
      details about <em>^V</em> behavior.</p>You can also use two
      other special TEXTAREA functions. Again, these are already
      bound to key sequences in the <a href=
      "keystrokes/edit_help.html#TASpecial">Line-Editor
      Bindings</a>, by default <em>^Xg</em> and <em>^Xi</em>. You
      can use different keys by adding KEYMAP bindings to your
      <em>lynx.cfg</em> file, e.g.

      <p>&nbsp;&nbsp;KEYMAP:$:GROWTEXTAREA<br>
      &nbsp;&nbsp;KEYMAP:#:INSERTFILE</p>

      <p>With these bindings, (in a TEXTAREA only) <em>^V$</em>
      would add 5 lines to the TEXTAREA and <em>^V#</em> would
      prompt for the name of an existing file to be inserted into
      the TEXTAREA (above the cursorline). An automatic variation
      of GROWTEXTAREA is normally compiled in, so that hitting
      <em>Enter</em> with the cursor on the last line adds a new
      line to the TEXTAREA, with the cursor on it.</p>

      <p>If you have some single keys (or control keys) to spare
      that you do not need for their normal purposes, you can
      dedicate those keys to invoke the special functions (without
      requiring a prefix key). For example, to use the <em>^E</em>
      key for the DWIMEDIT action, and the <em>Insert</em> key for
      the INSERTFILE action, use<br>
      &nbsp;&nbsp;KEYMAP:^E:DWIMEDIT:PASS<br>
      &nbsp;&nbsp;KEYMAP:0x10C:INSERTFILE:PASS<br>
      (see lynx.cfg for other keystroke codes to use).</p>

      <p>Note that the default bindings that use <em>^X</em> as a
      prefix key <em>may</em> also work by substituting the
      <kbd>Escape</kbd> key for ^X. If your keyboard has a modifier
      (Meta) key that gets transmitted as an ESC prefix, for
      example <kbd>Alt</kbd>, you can then even use <em>Alt-e</em>
      instead of <em>^Xe</em>, <em>Alt-g</em> instead of
      <em>^Xg</em>, and so on. But this does not work reliably
      everywhere (it depends on the way Lynx is compiled, including
      which libraries are used, and behavior of the connection and
      terminal type).</p>
    </dd>
  </dl>

  <p>In general, you can move around the form using the standard
  Lynx navigation keys. The <em>up-arrow</em> and
  <em>down-arrow</em> keys, respectively, select the previous or
  next field, box, or button. The <em>TAB</em> key selects the next
  field, box, or button.</p>

  <p>To <a name="submit" id="submit"><em>submit</em></a> the form
  press <em>right-arrow</em> or <em>Return</em> when positioned on
  the form's submit button. If you've submitted the form previously
  during the Lynx session, have not changed any of the form
  content, and the METHOD was <em>GET</em>, Lynx will retrieve from
  its cache what was returned from the previous submission. If you
  wish to resubmit that form to the server with the same content as
  previously, use the NOCACHE command ('<em>x</em>') when
  positioned on the submit button. The <em>right-arrow</em> and
  <em>Return</em> keys also will invoke a no-cache resubmission if
  the reply from a form submission included a META element with a
  no-cache Pragma or Cache-Control directive:<br></p>
  <pre>
      <em>&lt;META HTTP-EQUIV="Pragma" CONTENT="no-cache"&gt;</em>
      <em>&lt;META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"&gt;</em>
</pre>

  <p>or the server sent a "Pragma" or "Cache-Control" MIME header
  with a no-cache directive.</p>

  <p>You also can use the DOWNLOAD ('<em>d</em>') keystroke command
  when positioned on a form submit button if you wish to download
  the server's reply to the submission instead of having Lynx
  render and display it.</p>

  <p>Forms which have <em>POST</em> as the METHOD, or a <a href=
  "lynx_url_support.html#mailto_url">mailto:</a> URL as the ACTION,
  are always resubmitted, even if the content has not changed, when
  you activate the <em>submit</em> button. Lynx normally will not
  resubmit a form which has <em>POST</em> as the METHOD if the
  document returned by the form has links which you activated, and
  then you go back via the PREV_DOC (<em>left-arrow</em>) command
  or via the <a href="keystrokes/history_help.html">History
  Page</a>. Lynx can be compiled so that it resubmits the form in
  those cases as well, and the default can be changed via <a href=
  "#lynx.cfg">lynx.cfg</a>, and toggled via the
  <em>-resubmit_posts</em> command line switch.</p>

  <p>If the form has one <em>text entry</em> field and no other
  fields except, possibly, hidden INPUT fields not included in the
  display, then that field also serves as a <em>submit</em> button,
  and pressing <em>right-arrow</em> or <em>Return</em> on that
  field will invoke submission of the form. Be sure to use
  <em>up-arrow</em>, <em>down-arrow</em> or <em>TAB</em> to move
  off the text entry field, in such cases, if it is not your
  intention to submit the form (or to retrieve what was returned
  from an earlier submission if the content was not changed and the
  METHOD was <em>GET</em>).</p>

  <p>Forms can have multiple <em>submit</em> buttons, if they have
  been assigned NAMEs in the markup. In such cases, information
  about which one of the buttons was used to submit the form is
  included in the form content.</p>

  <p>Inlined images can be used as submit buttons in forms. If such
  buttons are assigned NAMEs in the markup, for graphic clients
  they can also serve as <a href="#USEMAP">image maps</a>, and the
  x,y coordinates of the graphic client's cursor position in the
  image when it was <em>clicked</em> are included in the form
  content. Since Lynx cannot inline the image, and the user could
  not have moved a cursor from the origin for the image, if no
  alternatives are made available in the markup Lynx sends a 0,0
  coordinate pair in the form content. Document authors who use
  images as submit buttons, but have at least some concern for text
  clients and sight-challenged Webizens, should include VALUEs for
  the buttons in such markup. Lynx will then display the string
  assigned to the VALUE, as it would for a normal submit button.
  Some document authors incorrectly use an ALT instead of VALUE
  attribute for this purpose. Lynx "cooperates" by treating ALT as
  a synonym for VALUE when present in an INPUT tag with
  TYPE="image". If neither a VALUE nor an ALT attribute is present,
  Lynx displays "[IMAGE]-Submit" as the string for such buttons. If
  clickable images is set, the "[IMAGE]" portion of the string is a
  link for the image, and the "Submit" portion is the button for
  submitting the form. Otherwise, the entire string is treated as a
  submit button. If a VALUE or ALT attribute is present and
  clickable images is set, Lynx prepends "[IMAGE]" as a link for
  the image, followed by '-' and then the attribute's value as the
  displayed string for the submit button. Note that earlier
  versions of Lynx would send a name=value pair instead of a 0,0
  coordinate pair if a TYPE="image" submit button was NAME-ed, had
  a VALUE attribute in the INPUT tag, and was used to submit the
  form. The script which analyzes the form content thus could be
  made aware whether the submission was by a user with a graphic
  client and had image loading turned on, or by a user who did not
  see the image nor make a conscious choice within it. However,
  requests that this be included in HTML specifications
  consistently have fallen on deaf ears, and thus Lynx now "fakes"
  a 0,0 coordinate pair whether or not a VALUE or ALT attribute is
  present in the INPUT tag. Ideally, the script which analyzes the
  submitted content will treat the 0,0 coordinate pair as an
  indicator that the user did not see the image and make a
  conscious choice within it.</p>

  <p>Forms can have <em>hidden</em> INPUT fields, which are not
  displayed, but have NAMEs and VALUEs included in the content.
  These often are used to keep track of information across a series
  of related form submissions, but have the potential for including
  information about the user that might be considered to represent
  an invasion of privacy. NOTE, in this regard, that Lynx has
  implemented the <a href="http://www.w3.org/Markup/html3/">HTML
  3.0</a> <em>DISABLED</em> attribute for <em>all</em> of its form
  fields. These can be used to keep track of information across
  submissions, and to cast it unmodifiable in the current form, but
  keep the user aware that it will be included in the
  submission.</p>

  <p>Forms most commonly are submitted to http servers with the
  content encoded as
  <em>ENCTYPE="application/x-www-form-urlencoded"</em> for analysis
  by a script, and Lynx treats that as the default if no ENCTYPE is
  specified in the FORM start tag. However, you can specify a
  <a href="lynx_url_support.html#mailto_url">mailto</a> URL as the
  form's ACTION to have the form content sent, instead, to an email
  address. In such cases, you may wish to specify
  <em>ENCTYPE="text/plain"</em> in the form markup, so that the
  content will not be encoded, but remain readable as plain
  text.</p>

  <p>Lynx also supports
  <em>ENCTYPE="application/sgml-form-urlencoded"</em> for which all
  reserved characters in the content will be hex escaped, as with
  <em>application/x-www-form-urlencoded</em>, but semicolons
  ('<em>;</em>') instead of ampersands ('<em>&amp;</em>') will be
  used as the separator for name=value pairs in the form content.
  The use of semicolons is preferred for forms with the
  <em>GET</em> METHOD, because the <em>GET</em> METHOD causes the
  encoded form content to be appended as a <em>?searchpart</em> for
  the form's ACTION, and if such URLs are used in
  <em>text/html</em> documents or bookmark files without conversion
  of the ampersands to SGML character references
  (<em>&amp;amp;</em> or <em>&amp;#38;</em>), their being followed
  by form field NAMEs which might correspond to SGML entities could
  lead to corruption of the intended URL.</p>

  <p>NOTE, in this regard, that Lynx converts ampersands to
  <em>&amp;amp;</em> when creating bookmarks, and thus the bookmark
  links will not be vulnerable to such corruptions. Also NOTE that
  Lynx allows you to save links in your bookmark file for documents
  returned by forms with the <em>GET</em> METHOD, and which thus
  have the content appended as a <em>?searchpart</em>, but not if
  the METHOD was <em>POST</em>, because the content would be lost
  and the link thus would be invalid.</p>

  <p>Lynx supports <em>ENCTYPE="multipart/form-data"</em> for
  sending form content with name=value pairs encoded as multipart
  sections with individual MIME headers and boundaries. However,
  Lynx does not yet support INPUTs with <em>TYPE="file"</em> or
  <em>TYPE="range"</em> and will set the <em>DISABLED</em>
  attribute for all of the form's fields if any INPUTs with either
  of those two TYPEs are present, so that the form can't be
  submitted. Otherwise, Lynx will submit the form with the
  multipart ENCTYPE.</p>

  <p>A
  <em>Content-Disposition:&nbsp;file;&nbsp;filename=name.suffix</em>
  header can be used by CGI scripts to set the suggested filename
  offered by Lynx for '<em>d</em>'ownload and '<em>p</em>'rint menu
  options to save or mail the body returned by the script following
  submission of a FORM. Otherwise, Lynx uses the last symbolic
  element in the path for the FORM's ACTION, which is normally the
  script, itself, or a PATH_INFO field, and thus might be
  misleading. This also can be done via a META element in any
  document:</p>
  <pre>
      <em>&lt;META HTTP-EQUIV="Content-Disposition"
            CONTENT="file; filename=name.suffix"&gt;</em>
</pre>

  <p>[<a href="#ToC-Forms">ToC</a>]</p>

  <h2 id="id-Images"><a name="Images" id="Images">Lynx and HTML
  Images</a></h2>

  <p>As a text browser, Lynx does not display images as such -- you
  need to define a viewer in <em>lynx.cfg</em>: see there -- , but
  users can choose a number of ways of showing their presence.</p>

  <p>There are 3 choices in <em>lynx.cfg</em>, with 2 corresponding
  keys:</p>
  <pre>
     MAKE_LINKS_FOR_ALL_IMAGES        *  IMAGE_TOGGLE
     MAKE_PSEUDO_ALTS_FOR_INLINES     [  INLINE_TOGGLE
     VERBOSE_IMAGES                   no corresponding key
</pre>

  <p>You can also use the <em>Options Menu</em>, as outlined
  below:</p>
  <pre>
     key  lynx.cfg       FM KM .lynxrc    variable in source

       *  MAKE_LINKS_     Y  N       N    clickable_images
       [  MAKE_PSEUDO_    Y  N       N    pseudo_inline_alts
          VERBOSE_        Y  Y       Y    verbose_img

FM = Form-based Menu ; KM = Key-based Menu ;
in  .lynxrc ,  VERBOSE_IMAGES  is called `verbose_images':
the other two cannot be saved between sessions.
</pre>

  <p>In the Form-based Menu, the 3-way `Show images' selection
  combines the effects of the `*' &amp; `[' keys, as follows:</p>
  <pre>
     Ignore      clickable_images = FALSE, pseudo_inline_alts = FALSE
     As labels   clickable_images = FALSE, pseudo_inline_alts = TRUE
     As links    clickable_images = TRUE,  pseudo_inline_alts = unchanged
</pre>

  <h2 id="id-Tables"><a name="Tables" id="Tables">Lynx and HTML
  Tables</a></h2>

  <p>HTML includes markup for creating <em>tables</em> structured
  as arrays of cells aligned by columns and rows on the displayed
  page.</p>

  <p>Lynx recognizes the TABLE element and all of its associated
  elements as described in <a href=
  "http://www.faqs.org/rfcs/rfc1942.html">RFC 1942</a> and will
  process any ID attributes in the start tags for handling as
  NAME-ed anchors, but does not create actual <em>tables</em>.
  Instead, it treats the TR start tag as a collapsible BR (line
  break), and inserts a collapsible space before the content of
  each TH and TD start tag. This generally makes all of the content
  of the <em>table</em> readable, preserves most of the intra-cell
  organization, and makes all of the links in the <em>table</em>
  accessible, but any information critically dependent on the
  column and row alignments intended for the <em>table</em> will be
  missed.</p>

  <p>If inherently tabular data must be presented with Lynx, one
  can use PRE formatted content, or, if the <em>table</em> includes
  markup not allowed for PRE content, construct the <em>table</em>
  using <a href="#Tabs">HTML Tabs</a>. An example <em>table</em>
  using <em>TAB</em> elements is included in the test subdirectory
  of the Lynx distribution.</p>

  <div id="TRST">
    <p>Starting with version 2.8.3, Lynx renders some tables in
    tabular form. This tabular representation for <em>simple</em>
    tables (<dfn>TRST</dfn>) does not attempt to implement full
    support for any table model. Limitations are:</p>

    <ul>
      <li>All data constituting a table row generally has to fit
      within the display width without inserting line breaks.</li>

      <li>Cell contents have to be simple. In general, only inline
      markup is acceptable, no <code>&lt;P&gt;</code>,
      <code>&lt;BR&gt;</code> etc. (although
      <code>&lt;BR&gt;</code> may be ignored at the beginning of
      the first cell or at the end of the last cell of a row).</li>

      <li>When tables are nested, only the innermost level is a
      candidate for tabular representation.</li>

      <li>Most attributes are ignored, including borders,
      <code>WIDTH</code>, vertical alignment.</li>
    </ul>

    <p>Horizontal alignments (<code>LEFT</code>,
    <code>CENTER</code>, <code>RIGHT</code>), <code>COLSPAN</code>,
    and <code>ROWSPAN</code> are interpreted according to HTML
    4.01. (<code>ROWSPAN</code> can only reserve empty space in
    subsequent rows, because of the limitations above.) When TRST
    fails because a table is not "simple" enough, the
    representation falls back to the minimal handling described
    earlier. Many (but, unfortunately, by no means all) tables that
    represent inherently tabular material will thus be shown with
    correct tabular formatting. Where table markup is used only for
    layout purposes (containing whole blocks of text and list
    within table cells) and not essential for understanding the
    textual contents, it remains basically ignored. Some more
    information on details is available in the file
    <kbd>README.TRST</kbd> of the source distribution.</p>
  </div>

  <p>For tabular display of more complex tables, Lynx users can
  make use of external scripts or programs. The normal Lynx
  distribution currently does not provide such scripts, but they
  can be written locally or downloaded from several sources. It is
  suggested to use one of Lynx's facilities for invoking external
  programs (see <kbd>DOWNLOADER</kbd>, <kbd>PRINTER</kbd>,
  <kbd>EXTERNAL</kbd>, <kbd>TRUSTED_LYNXCGI</kbd> in <a href=
  "#lynx.cfg">lynx.cfg</a> and <a href=
  "lynx_url_support.html#cgi_url"><code>lynxcgi:</code></a> in
  <em>Supported URLs</em> for information on various ways for
  setting this up).</p>

  <p>[<a href="#ToC-Tables">ToC</a>]</p>

  <h2 id="id-Tabs"><a name="Tabs" id="Tabs">Lynx and HTML
  Tabs</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> TAB
  element only when LEFT alignment is in effect. If the alignment
  is CENTER or RIGHT (JUSTIFY is not yet implemented in Lynx, and
  is treated as a synonym for LEFT), or if the TAB element
  indicates a position to the left of the current position on the
  screen, it is treated as a collapsible space. For purposes of
  implementing TAB, Lynx treats <em>en</em> units as half a
  character cell width when specified by the INDENT attribute, and
  rounds up for odd values (e.g., a value of either 5 or 6 will be
  treated as three spaces, each the width of a character cell). See
  the example <em>table</em> using TAB elements in the test
  subdirectory of the Lynx distribution as a model for using this
  functionality.</p>

  <p>Note that this <em>Users Guide</em> and the <a href=
  "lynx_url_support.html">Supported URLs</a> page include TAB
  markup in a manner which <em>degrades gracefully</em> for WWW
  browsers which do not support it. Toggle to display of <a href=
  "#LocalSource">source</a> and <a href="#Search">search</a> for
  <em>&lt;tab</em> to examine the use of TAB markup in these
  documents.</p>

  <p>[<a href="#ToC-Tabs">ToC</a>]</p>

  <h2 id="id-Frames"><a name="Frames" id="Frames">Lynx and HTML
  Frames</a></h2>

  <p>Some implementations of HTML include markup, primarily
  designed for graphic clients, that is intended to create an array
  of simultaneously displayed, independently scrolling windows.
  Such windows have been termed <em>frames</em>.</p>

  <p>Lynx recognizes the Netscape and Microsoft Explorer FRAME,
  FRAMESET, and NOFRAMES elements, but is not capable of windowing
  to create the intended positioning of <em>frames</em>. Instead,
  Lynx creates labeled links to the <em>frame</em> sources,
  typically positioned in the upper left corner of the display, and
  renders the NOFRAMES section. If the document provider has
  disregard for text clients and sight-challenged Webizens, and
  thus does not include substantive content in the NOFRAMES section
  or a link in it to a document suitable for text clients, you can
  usually guess from the labeling of the <em>frame</em> links which
  one has the substantive material (if there is any), or you can
  try each of those links to see if anything worthwhile is
  returned.</p>

  <p>[<a href="#ToC-Frames">ToC</a>]</p>

  <p>Some sites -- in ignorance of Lynx capabilities -- may tell
  you (for example) "to view this page you need Netscape
  Navigator". You can simply ignore such warnings and access the
  frames via the Lynx-generated links as above.</p>

  <h2 id="id-Banners"><a name="Banners" id="Banners">Lynx and HTML
  Banners</a></h2>

  <p>Some implementations of HTML markup include provisions for
  creating a non-scrolling window to be positioned at the top of
  each page, containing links with brief, descriptive link names,
  analogous to a Windows toolbar. Such windows have been termed
  <em>banners</em>.</p>

  <p>Lynx recognizes and processes all of the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> REL
  attribute tokens in LINK elements for creating a <em>banner</em>,
  and a number of others which have subsequently been proposed.
  These <em>banner</em> tokens are <em>Home</em>, <em>ToC</em>,
  <em>Contents</em>, <em>Index</em>, <em>Glossary</em>,
  <em>Copyright</em>, <em>Up</em>, <em>Next</em>,
  <em>Previous</em>, <em>Prev</em>, <em>Help</em>, <em>Search</em>,
  <em>Top</em>, <em>Origin</em>, <em>Navigator</em>,
  <em>Child</em>, <em>Disclaimer</em>, <em>Sibling</em>,
  <em>Parent</em>, <em>Author</em>, <em>Editor</em>,
  <em>Publisher</em>, <em>Trademark</em>, <em>Meta</em>,
  <em>URC</em>, <em>Hotlist</em>, <em>Begin</em>, <em>First</em>,
  <em>End</em>, <em>Last</em>, <em>Pointer</em>,
  <em>Translation</em>, <em>Definition</em>, <em>Chapter</em>,
  <em>Section</em>, <em>Subsection</em>, <em>Alternate</em>,
  <em>Documentation</em>, <em>Biblioentry</em>,
  <em>Bibliography</em>, <em>Start</em>, <em>Appendix</em>,
  <em>Bookmark</em> and <em>Banner</em>. Any LINK elements with
  those tokens as the REL attribute value, and an HREF attribute
  value in the LINK, will invoke creation of a <em>banner</em> at
  the top of the first page, with the element's HREF as the link,
  and the token as the default link name. If a TITLE attribute is
  included in the LINK, it's value will be used as the link name
  instead of the default. <em>Bookmark</em> and <em>Banner</em> are
  intended to be accompanied by a TITLE attribute, which in effect
  makes the namespace for REL <em>banner</em> tokens infinite.</p>

  <p>If the special token <em>Help</em> is used as the REL value
  and no HREF is included in the LINK, Lynx will use it own
  <em>HELPFILE</em> URL for that link. For the special token
  <em>Home</em> without an HREF, Lynx will use the default
  <em>STARTFILE</em> (i.e., derived from the configuration files or
  the WWW_HOME environment variable, <em>not</em> the command line
  <em>startfile</em> if one was used). However, if a
  <em>-homepage=URL</em> was specified on the command line, it's
  URL will be used as the HREF. For the special token
  <em>Index</em> without an HREF, Lynx will use the
  <em>DEFAULT_INDEX_FILE</em> derived from the configuration files,
  or if an <em>-index=URL</em> was specified on the command line,
  it's URL will be used as the HREF.</p>

  <p>Lynx does not waste screen real estate maintaining the
  <em>banner</em> at the top of every page, but the Lynx TOOLBAR
  keystroke command ('<em>#</em>') will, any time it is pressed,
  position you on the <em>banner</em> so that any of its links can
  be activated, and pressing the <em>left-arrow</em> when in the
  <em>banner</em> will return you to where you were in the current
  document. The toolbar is indicated by a '<em>#</em>" preceding
  its first link when present on the screen, that is, when the
  first page of the document is being displayed. The availability
  of a toolbar is indicated by a '<em>#</em>' at the top, left-hand
  corner of the screen when the second or subsequent pages of the
  document are being displayed.</p>

  <p>Lynx also recognizes the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a>
  BANNER container element, and will create a <em>banner</em> based
  on its content if one has not already been created based on LINK
  elements. Lynx treats the Microsoft MARQUEE element as a synonym
  for BANNER (i.e., presenting it's markup as a static
  <em>banner</em>, without any horizontal scrolling of its
  content). Lynx does not prefix the BANNER or MARQUEE content with
  a '<em>#</em>' because the content need not be only a series of
  links with brief, descriptive links names, but does add a
  '<em>#</em>' at the top, left-hand corner of the screen when the
  content is not being displayed, to indicate it's accessibility
  via the TOOLBAR keystroke command.</p>

  <p>[<a href="#ToC-Banners">ToC</a>]</p>

  <h2 id="id-Footnotes"><a name="Footnotes" id="Footnotes">Lynx and
  HTML Footnotes</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> FN
  element similarly to a named <em>A</em>nchor within the current
  document, and assumes that the footnotes will be positioned at
  the bottom of the document. However, in contrast to named
  <em>A</em>nchors, the FN container element is treated as a block
  (i.e., as if a new paragraph were indicated whether or not that
  is indicated in its content) with greater than normal left and
  right margins, and the block will begin with a <em>FOOTNOTE:</em>
  label. For example, if the document contains:</p>
  <pre>
        See the <em>&lt;A HREF="#fn1"&gt;</em><a href=
"#an1">footnote</a><em>&lt;/A&gt;</em>.
</pre>

  <p>activating that link will take you to the labeled rendering
  of:</p>
  <pre>
        <em>&lt;FN ID="fn1"&gt;</em>&lt;p&gt;<a name="an1" id=
"an1">Lynx does not use popups for FN blocks.</a>&lt;/p&gt;<em>&lt;/FN&gt;</em>
</pre>

  <p>i.e., position it at the top of the page. Then, upon reading
  the footnote, you can return to your previous position in the
  document by pressing the <em>left-arrow</em> key. The content of
  an FN element can be any HTML markup that is valid in the BODY of
  the document.</p>

  <p>[<a href="#ToC-Footnotes">ToC</a>]</p>

  <h2 id="id-Notes"><a name="Notes" id="Notes">Lynx and HTML
  Notes</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> NOTE
  element (<em>Admonishment</em>) as a labeled block, i.e., as if a
  new paragraph were indicated whether or not paragraphing markup
  is included in its content, with greater than normal left and
  right margins, and with the type of note indicated by an
  emphasized label based on the value of its CLASS or ROLE
  attribute. If no CLASS or ROLE attribute is included, the default
  label <em>NOTE:</em> will be used. Lynx recognizes the values
  <em>caution</em> and <em>warning</em>, for which, respectively,
  the labels <em>CAUTION:</em> or <em>WARNING:</em> will be used.
  The NOTE element can have an ID attribute, which will be treated
  as a named <em>A</em>nchor, as for <a href="#Footnotes">HTML
  Footnotes</a>, but the NOTE block need not be placed at the
  bottom of the document. The content of a NOTE block can be any
  HTML markup that is valid in the BODY of the document. This is an
  example:<br></p>
  <pre>
      <em>&lt;NOTE CLASS="warning" ID="too-bad"&gt;
        &lt;p&gt;The W3C vendors did not retain NOTE in the HTML 3.2 draft.&lt;/p&gt;
      &lt;/NOTE&gt;</em>
</pre>

  <p>It will <em>degrade gracefully</em> for WWW browsers which do
  not support NOTE, except for recognition of the ID attribute as a
  named <em>A</em>nchor.</p>

  <p>[<a href="#ToC-Notes">ToC</a>]</p>

  <h2 id="id-Lists"><a name="Lists" id="Lists">Lynx and HTML
  Lists</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> list
  elements UL (<em>Unordered List</em>), OL (<em>Ordered
  List</em>), and DL (<em>Definition List</em>), and their
  associated attributes, and elements (LH, LI, DT, and DD) for the
  most part as described in that specification. The lists can be
  nested, yielding progressively greater indentation, up to six
  levels. The <a href=
  "http://www.w3.org/MarkUp/html-spec/html-spec_toc.html">HTML
  2.0</a> MENU and DIR elements <em>both</em> are treated as
  synonyms for UL with the PLAIN attribute (no <em>bullets</em>,
  see below). Note, thus, that neither DIR nor MENU yields a series
  of columns with 24-character spacing. A single nesting index is
  maintained, so that different types of List elements can be used
  for different levels within the nest. Also, the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> FIG,
  CAPTION and CREDIT elements are treated as valid within list
  blocks. They will be rendered with indentation appropriate for
  the current nesting depth, and the CAPTION or CREDIT elements
  will have a <em>CAPTION:</em> or <em>CREDIT:</em> label beginning
  the first line of their content. The content of any APPLET or
  OBJECT elements in the lists also will be indented appropriately
  for the current nesting depth, but those will not invoke line
  breaks unless indicated by their content, and it should not
  include markup which is inappropriate within the list.</p>

  <p>Lynx also supports the TYPE attribute for OL elements, which
  can have values of <em>1</em> for Arabic numbers, <em>I</em> or
  <em>i</em> for uppercase or lowercase Roman numerals, or
  <em>A</em> or <em>a</em> for uppercase or lowercase letters, that
  increment for successive LI elements in the list block. The
  CONTINUE attribute can be used to continue the ordering from the
  preceding list block when the nesting depth is changed.</p>

  <p>Lynx treats the OL attributes START and SEQNUM as synonyms for
  specifying the ordering value for the first LI element in the
  block. The values should be specified as Arabic numbers, but will
  be displayed as Arabic, Roman, or alphabetical depending on the
  TYPE for the block. The values can range from <em>-29997</em> to
  the system's maximum positive integer for Arabic numbers. For
  Roman numerals, they can range from <em>1</em> (<em>I</em> or
  <em>i</em>) to <em>3000</em> (<em>MMM</em> or <em>mmm.</em>). For
  alphabetical orders, the values can range from <em>1</em>
  (<em>A</em> or <em>a</em>) to <em>18278</em> (<em>ZZZ</em> or
  <em>zzz</em>). If the CONTINUE attribute is used, you do not need
  to specify a START or SEQNUM attribute to extend the ordering
  from a previous block, and you can include a TYPE attribute to
  change among Arabic, Roman, or alphabetical ordering styles, or
  their casing, without disrupting the sequence. If you do not
  include a START, SEQNUM or CONTINUE attribute, the first LI
  element of each OL block will default to <em>1</em>, and if you
  do not include a TYPE attribute, Lynx defaults to Arabic
  numbers.</p>

  <p>For UL blocks without the PLAIN attribute, Lynx uses
  <em>*</em>, <em>+</em>, <em>o</em>, <em>#</em>, <em>@</em> and
  <em>-</em> as <em>bullets</em> to indicate, progressively, the
  depth within the six nesting levels.</p>

  <p>Lynx treats UL, OL, DIR, and MENU blocks as having the COMPACT
  attribute by default, i.e., single spaces between LH and LI
  elements within those blocks. For DL blocks, double spacing will
  be used to separate the DT and DD elements unless the COMPACT
  attribute has been specified.</p>

  <p>[<a href="#ToC-Lists">ToC</a>]</p>

  <h2 id="id-Quotes"><a name="Quotes" id="Quotes">Lynx and HTML
  Quotes</a></h2>

  <p>The <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> and
  later specifications provide for two classes of quotation in HTML
  documents. Block quotes, designated by the BLOCKQUOTE element (or
  it's abbreviated synonym BQ in HTML 3.0), have implied paragraph
  breaks preceding and following the start and end tags for the
  block. Character level quotes, designated by the Q element, in
  contrast are simply directives in the markup to insert an
  appropriate quotation mark.</p>

  <p>Lynx renders block quotes with a greater than normal left and
  right indentation. Lynx does not support italics, and normally
  substitutes underlining, but does not underline block quotes so
  as not to obscure any explicit emphasis elements within the
  quotation. The BLOCKQUOTE or BQ block can include a CREDIT
  container element, whose content will be rendered as an implied
  new paragraph with a <em>CREDIT:</em> label at the beginning of
  its first line.</p>

  <p>Lynx respects nested Q start and end tags, and will use ASCII
  double-quotes (<em>"</em>) versus grave accent (<em>`</em>) and
  apostrophe (<em>'</em>), respectively, for even versus odd depths
  in the nest.</p>

  <p>Any ID attributes in BLOCKQUOTE, BQ or Q elements can be the
  target of a hyperlink in the form URL#id. It is treated just like
  the NAME in <em>A</em>nchors.</p>

  <p>[<a href="#ToC-Quotes">ToC</a>]</p>

  <h2 id="id-Eightbit"><a name="Eightbit" id="Eightbit">Lynx and
  HTML Internationalization: 8bit, UNICODE, etc.</a></h2>

  <p>Lynx has superior support for HTML 4.0/I18N
  internationalization issues. However, to see the characters other
  than 7bit properly you <em>should</em> set your <a href=
  "keystrokes/option_help.html#DC">display character set</a> from
  Option Menu and save its value, this is a Frequently Asked
  Question. Fine-turning is also available from <a href=
  "#lynx.cfg">lynx.cfg</a></p>

  <p>[<a href="#ToC-Eightbit">ToC</a>]</p>

  <h2 id="id-USEMAP"><a name="USEMAP" id="USEMAP">Lynx and
  Client-Side-Image-Maps</a></h2>

  <p>HTML includes markup, designed primarily for graphic clients,
  that treats inlined images as maps, such that areas of the image
  within which a mouse cursor was positioned when the mouse was
  <em>clicked</em> can correspond to URLs which should be
  retrieved. The original implementations were based on the client
  sending an http server the x,y coordinates associated with the
  <em>click</em>, for handling by a script invoked by the server,
  and have been termed <em>server-side-image-maps</em>. Lynx has no
  rational way of coping with such a procedure, and thus simply
  sends a 0,0 coordinate pair, which some server scripts treat as
  an instruction to return a document suitable for a text
  client.</p>

  <p>Newer HTML markup provides bases for the client to determine
  the URLs associated with areas in the image map, and/or for a
  text client to process alternative markup and allow the user to
  make choices based on textual information. These have been termed
  <em>client-side-image-maps</em>.</p>

  <p>Lynx recognizes and processes the MAP container element and
  its AREA elements, and will create a menu of links for the HREF
  of each AREA when the link created for the IMG element with a
  USEMAP attribute is activated. The menu uses the ALT attributes
  of the AREA elements as the link names, or, if the document's
  author has disregard for text clients and sight-challenged
  Webizens, and thus did not include ALT attributes, Lynx uses the
  resolved URLs pointed to by the HREF attributes as the link
  names. Lynx uses the TITLE attribute of the IMG element, or the
  TITLE attribute of the MAP, if either was present in the markup,
  as the title and main header of the menu. Otherwise, it uses the
  ALT attribute of the IMG element. If neither TITLE nor ALT
  attributes were present in the markup, Lynx creates and uses a
  <em>[USEMAP]</em> pseudo-ALT. The MAPs need not be in the same
  document as the IMG elements. If not in the same document, Lynx
  will fetch the document which contains the referenced MAP, and
  locate it based on its NAME or ID attribute. All MAPs encountered
  in documents during a Lynx session are cached, so that they need
  not be retrieved repeatedly when referenced in different
  documents.</p>

  <p>If the IMG element also indicates a
  <em>server-side-image-map</em> via an ISMAP attribute, Lynx
  normally will create a link for that as well, using an
  <em>[ISMAP]</em> pseudo-ALT (followed by a hyphen to indicate its
  association with the <em>client-side-image-map</em>) rather than
  ignoring it, and will submit a 0,0 coordinate pair if that link
  is activated. Although, the <em>client-side-image-map</em> may be
  more useful for a client such as Lynx, because all of the URLs
  associated with the image map can be accessed, and their nature
  indicated via ALT attributes, Lynx-friendly sites can map 0,0
  such that the server returns a for-text-client document
  homologous to the content of FIG elements (see below). Inclusion
  of such a link for submissions to the server can be disabled by
  default via the configuration file (<a href=
  "#lynx.cfg">lynx.cfg</a>), and the default can be toggled via the
  <em>-ismap</em> command line switch.</p>

  <p>Lynx also recognizes the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> FIG
  and OVERLAY elements, and will handle them as intended for text
  clients. These are the ideal way to handle
  <em>client-side-image-maps</em>, because the FIG content provides
  complete alternative markup, rather than relying on the client to
  construct a relatively meager list of links with link names based
  on ALT strings.</p>

  <p>The presently experimental OBJECT element encompasses much of
  the functionality of the FIG element for
  <em>client-side-image-maps</em>. Lynx will render and display the
  content of OBJECT elements which have the SHAPES attribute
  equivalently to its handling of FIG. Lynx also handles OBJECT
  elements with the USEMAP and/or ISMAP attributes equivalently to
  its handling of IMG elements with <em>client-side-image-maps</em>
  and/or <em>server-side-image-maps</em>.</p>

  <p>[<a href="#ToC-USEMAP">ToC</a>]</p>

  <h2 id="id-Refresh"><a name="Refresh" id="Refresh">Lynx and
  Client-Side-Pull</a></h2>

  <p>HTML includes provision for passing instructions to clients
  via directives in META elements, and one such instruction, via
  the token <em>Refresh</em>, should invoke reloading of the
  document, fetched from a server with the same URL or a new URL,
  at a specified number of seconds following receipt of the current
  document. This procedure has been termed
  <em>client-side-pull</em>. An example of such an element is:</p>
  <pre>
      <em>&lt;META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://host/path"&gt;</em>
</pre>

  <p>which instructs a client to fetch the indicated URL in 3
  seconds after receiving the current document. If the
  <em>URL=</em> field is omitted, the URL defaults to that of the
  current document. A <em>no-cache</em> directive is implied when
  the <em>Refresh</em> if for the same URL.</p>

  <p>Lynx recognizes and processes <em>Refresh</em> directives in
  META elements, but puts up a labeled link, typically in the upper
  left corner of the display, indicating the number of seconds
  intended before a refresh, and the URL for the refresh, instead
  of making the request automatically after the indicated number of
  seconds. This allows people using a braille interface any amount
  of time to examine the current document before activating the
  link for the next URL. In general, if the number of seconds
  indicated is short, the timing is not critical and you can
  activate the link whenever you like. If it is long (e.g., 60
  seconds), a server process may be generating new documents or
  images at that interval, and you would be wasting bandwidth by
  activating the link at a shorter interval.</p>

  <p>[<a href="#ToC-Refresh">ToC</a>]</p>

  <h2 id="id-Cookies"><a name="Cookies" id="Cookies">Lynx State
  Management</a> (Me want <em>cookie</em>!)</h2>

  <p>HTTP provides a means to carry state information across
  successive connections between a browser and an http server.
  Normally, http servers respond to each browser request without
  relating that request to previous or subsequent requests. Though
  the inclusion of INPUT fields with TYPE="hidden" can be used as a
  sort of state management by <a href="#Forms">HTML Forms</a>, a
  more general approach involves exchanges of MIME headers between
  the server and browser. When replying to a request, the server
  can send a <em>Set-Cookie</em> MIME header which contains
  information (<em>cookies</em>) relevant to the browser's request,
  and in subsequent requests the browser can send a <em>Cookie</em>
  MIME header with information derived from previously received
  cookies.</p>

  <p>State Management via cookie exchanges originally was
  implemented by Netscape, and such cookies are now designated as
  <em>Version 0</em>. A more elaborate format for cookies,
  designated as <em>Version 1</em>, is being standardized by the
  IETF (Internet Engineering Task Force). Lynx supports both
  <em>Version 0</em> and <em>Version 1</em> cookie exchanges. This
  support can be disabled by default via the SET_COOKIES symbol in
  the compilation (<em>userdefs.h</em>) and/or run time (<a href=
  "#lynx.cfg">lynx.cfg</a>) configuration files, and that default
  setting can be toggled via the <em>-cookies</em> command line
  switch. The SET_COOKIES symbol can be further modified by the
  ACCEPT_ALL_COOKIES mode. If ACCEPT_ALL_COOKIES is set TRUE, and
  SET_COOKIES is TRUE, Lynx will accept all cookies. Additionally,
  the cookies that are automatically accepted or rejected by Lynx
  can be further modified with the COOKIE_ACCEPT_DOMAINS and
  COOKIE_REJECT_DOMAINS options in your .lynxrc file, each of which
  is a comma-separated list of domains to perform the desired
  action. The domain listed in these options must be identical to
  the domain the cookie comes from, there is no wildcard matching.
  If a domain is specific in both COOKIE_ACCEPT_DOMAINS and
  COOKIE_REJECT_DOMAINS, rejection will take precedence.</p>

  <p>When cookie support is enabled, <em>Set-Cookie</em> MIME
  headers received from an http server invoke confirmation prompts
  with possible replies of '<em>Y</em>'es or '<em>N</em>'o for
  acceptance of the cookie, '<em>A</em>'lways to accept the cookie
  and to allow all subsequent cookies from that <em>domain</em>
  (server's Fully Qualified Domain Name, or site-identifying
  portion of the FQDN) without further confirmation prompts, or
  ne'<em>V</em>'er to never allow cookies from that <em>domain</em>
  to be accepted (silently ignore its <em>Set-Cookie</em> MIME
  headers). All unexpired cookies are held in a hypothetical
  <em>Cookie Jar</em> which can be examined via the COOKIE_JAR
  keystroke command, normally mapped to <em>Ctrl-K</em>, for
  invoking the <a href="keystrokes/cookie_help.html">Cookie Jar
  Page</a>. If Lynx has been compiled with the
  --enable-persistent-cookies flag, then unexpired cookies will be
  stored between sessions in the filename set with the COOKIE_FILE
  option in your .lynxrc.</p>

  <p>A common use of cookies by http servers is simply to track the
  documents visited by individual users. Though this can be useful
  to the site's WebMaster for evaluating and improving the
  organization of links in the various documents of the site, if
  the user has configured Lynx to include a <em>From</em> MIME
  header with the user's email address in http requests, or has
  passed personal information to the server via a form submission,
  the tracking might be used to draw inferences, possibly
  incorrect, about that user, and may be considered by some as an
  invasion of privacy.</p>

  <p>An example of worthwhile State Management via cookies is the
  setting of personal preferences, typically via a form submission
  to the site, which will then apply to all documents visited at
  that site.</p>

  <p>If you accept cookies when accessing a site, but are given no
  indication about how they will be used in subsequent requests to
  that site, nor can infer how they will be used, you can
  <em>Gobble</em> (delete) the cookies and/or change the 'allow'
  setting for its <em>domain</em> via the <a href=
  "keystrokes/cookie_help.html">Cookie Jar Page</a>.</p>

  <p>[<a href="#ToC-Cookies">ToC</a>]</p>

  <h2 id="id-Cache"><a name="Cache" id="Cache">Cached
  Documents</a></h2>

  <p>A list of documents which are in lynx's internal cache is
  accessible through hypothetical <em>Cache Jar</em> which can be
  examined via the CACHE_JAR keystroke command, normally mapped to
  <em>Ctrl-X</em>.</p>

  <p>Entries in the <em>Cache Jar</em> are ordered from oldest (at
  the top) to newest. The user can easily access any document which
  is in the cache, especially those which may be soon removed due
  to configurable limits on the maximum number of cached documents,
  as well as the maxmimum amount of memory used by the cache.</p>

  <p>The structure of <em>Cache Jar</em> is simple:</p>

  <ul>
    <li>Each entry starts with its ordinal number (within the
    session), recently added documents in cache have a smaller
    number than documents which are added before, and are
    positioned at the end of <em>Cache Jar</em></li>

    <li>Following its ordinal number is the document title, which
    is also a link. On activating this link, the user is prompted
    if they want to delete the document from <em>Cache Jar</em>.
    The document's address (also a link) follows the title. It is
    distinguished by a <code>URL:</code> label preceding the link.
    Activating this link, lynx displays the corresponding cached
    document.</li>

    <li>Below each cached document URL lynx shows the document
    properties which include:

      <ul>
        <li>Lines,</li>

        <li>Size,</li>

        <li>File-Cache,</li>

        <li>Content-Type,</li>

        <li>Content-Language,</li>

        <li>Content-Encoding,</li>

        <li>Content-Location,</li>

        <li>Subject,</li>

        <li>Owner,</li>

        <li>Date,</li>

        <li>Expires,</li>

        <li>Last-Modified,</li>

        <li>ETag,</li>

        <li>Server, and</li>

        <li>Source-Cache-File.</li>
      </ul>
    </li>
  </ul>

  <p>This feature can be enabled by default using the USE_CACHEJAR
  symbol in the compilation (<code>userdefs.h</code>), as well as
  enabled in lynx.cfg</p>

  <p>[<a href="#ToC-Cache">ToC</a>]</p>

  <h2 id="id-Sessions"><a name="Sessions" id=
  "Sessions"><em>Sessions</em></a></h2>

  <p>Lynx's current state (all information about the user's current
  activity with lynx) is called a session. Sessions are useful in
  particular if you are in the middle of exploring something on the
  web and you were forced to stop abruptly, losing any trace of
  your current work.</p>

  <p>A session can be automatically restored as lynx starts after a
  clean exit. The session data is saved if lynx is invoked with the
  <em>-session=FILENAME</em> switch. The <em>FILENAME</em> is the
  name of the file where the session will be stored.</p>

  <p>There are also switches for only restoring:
  <em>-sessionin=FILENAME</em> and for only saving:
  <em>-sessionout=FILENAME</em> sesions:</p>

  <p>If you do not want to specify these options at each lynx
  startup, there is an option in <em>lynx.cfg</em> to enable
  automatic saving/restoring of session. To keep lynx startup/exit
  reasonable fast there is also an option in <em>lynx.cfg</em>
  specifying how much information about the current lynx session
  will be stored in file.</p>

  <p>The syntax of the session file is simple. You can use a text
  editor to modify, add new entries, or remove URLs you no longer
  want.</p>

  <p>[<a href="#ToC-Sessions">ToC</a>]</p>

  <h2 id="id-Invoking"><a name="Invoking" id="Invoking">The Lynx
  command line</a></h2>

  <p>A summary of the Lynx command line options (switches) is
  returned to stdout if Lynx is invoked with the <em>-help</em>
  switch. A description of the options also should be available via
  the system man (Unix) pages or help (VMS) libraries. On Win32,
  typing lynx -help in a DOS window should display similarly. The
  basic syntax of the Lynx command line can be represented as one
  of the following:</p>

  <dl>
    <dt><code>Command</code></dt>

    <dd><code>lynx [options]</code></dd>

    <dd><code>lynx [options] startfile</code></dd>
  </dl>

  <p>where</p>

  <dl>
    <dt><code>startfile</code></dt>

    <dd>
      is the file or URL that Lynx will load at start-up.

      <ul>
        <li>If startfile is not specified, Lynx will use a default
        starting file and base directory determined during
        installation.</li>

        <li>If a specified file is local (i.e., not a URL) Lynx
        displays that file and uses the directory in which that
        file resides as the base directory.</li>

        <li>If a URL is specified, the file will be retrieved, and
        only the server base directory will be relevant to further
        accesses.</li>

        <li>If more than one local file or remote URL is listed on
        the command line, Lynx will open only the last
        interactively. All of the names (local files and remote
        URLs) are added to the G)oto history.</li>
      </ul>
    </dd>

    <dt><code>options</code></dt>

    <dd>
      Lynx uses only long option names. Option names can begin with
      double dash as well, underscores and dashes can be intermixed
      in option names (in the reference below options are with one
      dash before them and with underscores).

      <p>Lynx provides many command-line options. Some options
      require a value (string, number or keyword). These are noted
      in the reference below. The other options set boolean values
      in the program. There are three types of boolean options:
      set, unset and toggle. If no option value is given, these
      have the obvious meaning: set (to true), unset (to false), or
      toggle (between true/false). For any of these, an explicit
      value can be given in different forms to allow for operating
      system constraints, e.g.,</p>
      <pre>
<code>
              -center:off
              -center=off
              -center-</code>
</pre>

      <p>Lynx recognizes "1", "+", "on" and "true" for true values,
      and "0", "-", "off" and "false" for false values. Other
      option-values are ignored.</p>

      <p>The default boolean, number and string option values that
      are compiled into lynx are displayed in the help-message
      provided by lynx -help. Some of those may differ according to
      how lynx was built; see the help message itself for these
      values. The -help option is processed before any option,
      including those that control reading from the lynx.cfg file.
      Therefore runtime configuration values are not reflected in
      the help-message.</p>

      <p>Capitalized items in the option summary indicate that a
      substitution must be made. These are the options:</p>

      <dl>
        <dt><code><strong>-</strong></code></dt>

        <dd>If the argument is only
        '<code><strong>-</strong></code>' (dash), then Lynx expects
        to receive the arguments from stdin. This is to allow for
        the potentially very long command line that can be
        associated with the <em>-get_data</em> or
        <em>-post_data</em> arguments (see below). It can also be
        used to avoid having sensitive information in the invoking
        command line (which would be visible to other processes on
        most systems), especially when the <em>-auth</em> or
        <em>-pauth</em> options are used. On VMS, the dash must be
        encased in double-quotes ("-") and the keyboard input
        terminated with <em>Control-Z</em> or the command file
        input terminated by a line that begins with '<em>$</em>'.
        On Unix, the keyboard input terminator is
        <em>Control-D</em>. On Win32, [???].</dd>

        <dt><code><strong>-accept_all_cookies</strong></code></dt>

        <dd>accept all cookies.</dd>

        <dt><code><strong>-anonymous</strong></code></dt>

        <dd>apply restrictions appropriate for an anonymous
        account, see <em>-restrictions</em> below for some
        details.</dd>

        <dt>
        <code><strong>-assume_charset=</strong><em>MIMENAME</em></code></dt>

        <dd>charset for documents that don't specify it.</dd>

        <dt>
        <code><strong>-assume_local_charset=</strong><em>MIMENAME</em></code></dt>

        <dd>charset assumed for local files, i.e., files which lynx
        creates such as internal pages for the options menu.</dd>

        <dt>
        <code><strong>-assume_unrec_charset=</strong><em>MIMENAME</em></code></dt>

        <dd>use this instead of unrecognized charsets.</dd>

        <dt><code><strong>-auth=</strong><em>ID:PW</em></code></dt>

        <dd>set authorization <em>identifier</em> and
        <em>password</em> for protected documents at startup. Be
        sure to protect any script files which use this
        switch.</dd>

        <dt><code><strong>-base</strong></code></dt>

        <dd>prepend a request URL comment and BASE tag to text/html
        outputs for -source dumps.</dd>

        <dt><code><strong>-bibp=</strong><em>URL</em></code></dt>

        <dd>specify a local bibp server (default
        http://bibhost/).</dd>

        <dt><code><strong>-blink</strong></code></dt>

        <dd>forces high intensity background colors for color mode,
        if available and supported by the terminal. This applies to
        the slang library (for a few terminal emulators), or to
        OS/2 EMX with ncurses.</dd>

        <dt><code><strong>-book</strong></code></dt>

        <dd>use the bookmark page as the startfile. The default or
        command line startfile is still set for the Main screen
        command, and will be used if the bookmark page is
        unavailable or blank.</dd>

        <dt><code><strong>-buried_news</strong></code></dt>

        <dd>toggles scanning of news articles for buried
        references, and converts them to news links. Not
        recommended because email addresses enclosed in angle
        brackets will be converted to false news links, and
        uuencoded messages can be trashed.</dd>

        <dt>
        <code><strong>-cache=</strong><em>NUMBER</em></code></dt>

        <dd>set the <em>NUMBER</em> of documents cached in memory.
        The default is 10.</dd>

        <dt><code><strong>-center</strong></code></dt>

        <dd>Toggle center alignment in HTML TABLE.</dd>

        <dt><code><strong>-case</strong></code></dt>

        <dd>enable case-sensitive string searching.</dd>

        <dt>
        <code><strong>-cfg=</strong><em>FILENAME</em></code></dt>

        <dd>specifies a Lynx configuration file other than the
        default <a href="#lynx.cfg">lynx.cfg</a>.</dd>

        <dt><code><strong>-child</strong></code></dt>

        <dd>exit on left-arrow in startfile, and disable save to
        disk.</dd>

        <dt><code><strong>-child_relaxed</strong></code></dt>

        <dd>exit on left-arrow in startfile, but allow save to disk
        and associated print/mail options.</dd>

        <dt>
        <code><strong>-cmd_log=</strong><em>FILENAME</em></code></dt>

        <dd>write keystroke commands and related information to the
        specified file.</dd>

        <dt>
        <code><strong>-cmd_script=</strong><em>FILENAME</em></code></dt>

        <dd>
          read keystroke commands from the specified file. You can
          use the data written using the <em>-cmd_log</em> option.
          Lynx will ignore other information which the
          command-logging may have written to the log- file. Each
          line of the command script contains either a comment
          beginning with "#", or a keyword:

          <dl>
            <dt><code><strong>exit</strong></code></dt>

            <dd>causes the script to stop, and forces lynx to exit
            immediately.</dd>

            <dt><code><strong>key</strong></code></dt>

            <dd>the character value, in printable form. Cursor and
            other special keys are given as names, e.g.,
            <code><strong>Down Arrow</strong></code>. Printable
            7-bit ASCII codes are given as-is, and hexadecimal
            values represent other 8-bit codes.</dd>

            <dt><code><strong>set</strong></code></dt>

            <dd>followed by a "name=value" allows one to override
            values set in the lynx.cfg file.</dd>
          </dl>
        </dd>

        <dt><code><strong>-color</strong></code></dt>

        <dd>forces color mode on, if available. Default color
        control sequences which work for many terminal types are
        assumed if the terminal capability description does not
        specify how to handle color. Lynx needs to be compiled with
        the slang library for this flag. It is equivalent to
        setting the COLORTERM environment variable. (If color
        support is instead provided by a color-capable curses
        library like ncurses, Lynx relies completely on the
        terminal description to determine whether color mode is
        possible, and this flag is not needed and thus
        unavailable.) A saved show_color=always setting found in a
        .lynxrc file at startup has the same effect. A saved
        show_color=always found in .lynxrc on startup is overridden
        by this flag.</dd>

        <dt>
        <code><strong>-connect_timeout</strong>=<em>N</em></code></dt>

        <dd>Sets the connection timeout, where <em>N</em> is given
        in seconds.</dd>

        <dt>
        <code><strong>-cookie_file=</strong><em>FILENAME</em></code></dt>

        <dd>specifies a file to use to read cookies. If none is
        specified, the default value is ~/.lynx_cookies for most
        systems, but ~/cookies for MS-DOS.</dd>

        <dt>
        <code><strong>-cookie_save_file=</strong><em>FILENAME</em></code></dt>

        <dd>specifies a file to use to store cookies. If none is
        specified, the value given by
        <code><strong>-cookie_file</strong></code> is used.</dd>

        <dt><code><strong>-cookies</strong></code></dt>

        <dd>toggles handling of Set-Cookie headers.</dd>

        <dt><code><strong>-core</strong></code></dt>

        <dd>toggles forced core dumps on fatal errors. (Unix
        only)</dd>

        <dt><code><strong>-crawl</strong></code></dt>

        <dd>with <em>-traversal</em>, output each page to a
        file.<br>
        with <em>-dump</em>, format output as with
        <em>-traversal</em>, but to stdout.</dd>

        <dt><code><strong>-curses_pads</strong></code></dt>

        <dd>toggles the use of curses "pad" feature which supports
        left/right scrolling of the display.</dd>

        <dt><code><strong>-debug_partial</strong></code></dt>

        <dd>separate incremental display stages with MessageSecs
        delay</dd>

        <dt>
        <code><strong>-display=</strong><em>DISPLAY</em></code></dt>

        <dd>set the display variable for X rexe-ced programs.</dd>

        <dt>
        <code><strong>-display_charset=</strong><em>MIMEname</em></code></dt>

        <dd>set the charset for the terminal output.</dd>

        <dt><code><strong>-dont_wrap_pre</strong></code></dt>

        <dd>inhibit wrapping of text in &lt;pre&gt; when -dump'ing
        and -crawl'ing, mark wrapped lines in interactive
        session.</dd>

        <dt><code><strong>-dump</strong></code></dt>

        <dd>dumps the formatted output of the default document or
        one specified on the command line to standard out. This can
        be used in the following way:<br>
        <em>lynx -dump http://www.w3.org/</em></dd>

        <dt>
        <code><strong>-editor=</strong><em>EDITOR</em></code></dt>

        <dd>enable external editing using the specified
        <em>EDITOR</em>. (vi, ed, emacs, etc.)</dd>

        <dt><code><strong>-emacskeys</strong></code></dt>

        <dd>enable emacs-like key movement.</dd>

        <dt><code><strong>-enable_scrollback</strong></code></dt>

        <dd>toggles behavior compatible with the scrollback keys in
        some communications software (may be incompatible with some
        curses packages).</dd>

        <dt>
        <code><strong>-error_file=</strong><em>FILENAME</em></code></dt>

        <dd>the status code from the HTTP request is placed in this
        file.</dd>

        <dt><code><strong>-exec</strong></code></dt>

        <dd>enable local program execution (normally not
        configured).</dd>

        <dt><code><strong>-fileversions</strong></code></dt>

        <dd>include all versions of files in local VMS directory
        listings.</dd>

        <dt><code><strong>-find_leaks</strong></code></dt>

        <dd>toggles the memory leak checking off. Normally this is
        not compiled-into your executable, but when it is, it can
        be disabled for a session.</dd>

        <dt>
        <code><strong>-force_empty_hrefless_a</strong></code></dt>

        <dd>force HREF-less 'A' elements to be empty (close them as
        soon as they are seen).</dd>

        <dt><code><strong>-force_html</strong></code></dt>

        <dd>forces the first document to be interpreted as
        HTML.</dd>

        <dt><code><strong>-force_secure</strong></code></dt>

        <dd>toggles forcing of the secure flag for SSL
        cookies.</dd>

        <dt><code><strong>-forms_options</strong></code></dt>

        <dd>toggles whether the Options Menu is key-based or
        form-based.</dd>

        <dt><code><strong>-from</strong></code></dt>

        <dd>toggles transmissions of From headers to HTTP or HTTPS
        servers.</dd>

        <dt><code><strong>-ftp</strong></code></dt>

        <dd>disable ftp access.</dd>

        <dt><code><strong>-get_data</strong></code></dt>

        <dd>properly formatted data for a get form are read in from
        stdin and passed to the form. Input is terminated by a line
        that starts with '---'.</dd>

        <dt><code><strong>-head</strong></code></dt>

        <dd>send a HEAD request for the mime headers.</dd>

        <dt><code><strong>-help</strong></code></dt>

        <dd>print this Lynx command syntax usage message.</dd>

        <dt>
        <code><strong>-hiddenlinks=</strong><em>option</em></code></dt>

        <dd>
          control the display of hidden links. Option values are:

          <dl>
            <dt><code><strong>merge</strong></code></dt>

            <dd>hidden links show up as bracketed numbers and are
            numbered together with other links in the sequence of
            their occurrence in the document.</dd>

            <dt><code><strong>listonly</strong></code></dt>

            <dd>hidden links are shown only on <em>L</em>ist
            screens and listings generated by
            <code><strong>-dump</strong></code> or from the
            <em>P</em>rint menu, but appear separately at the end
            of those lists. This is the default behavior.</dd>

            <dt><code><strong>ignore</strong></code></dt>

            <dd>hidden links do not appear even in listings.</dd>
          </dl>
        </dd>

        <dt><code><strong>-historical</strong></code></dt>

        <dd>toggles use of '&gt;' or '--&gt;' as a terminator for
        comments.</dd>

        <dt>
        <code><strong>-homepage=</strong><em>URL</em></code></dt>

        <dd>set homepage separate from start page. Will be used if
        a fetch of the start page fails or if it is a script which
        does not return a document, and as the
        <code><em>URL</em></code> for the '<em>m</em>'ain menu
        command.</dd>

        <dt><code><strong>-image_links</strong></code></dt>

        <dd>toggles inclusion of links for all images.</dd>

        <dt><code><strong>-ismap</strong></code></dt>

        <dd>toggles inclusion of ISMAP links when client-side MAPs
        are present.</dd>

        <dt><code><strong>-index=</strong><em>URL</em></code></dt>

        <dd>set the default index file to the specified
        <em>URL</em></dd>

        <dt><code><strong>-justify</strong></code></dt>

        <dd>do justification of text.</dd>

        <dt>
        <code><strong>-link=</strong><em>NUMBER</em></code></dt>

        <dd>starting count for lnk#.dat files produced by
        <em>-crawl</em>.</dd>

        <dt><code><strong>-localhost</strong></code></dt>

        <dd>disable URLs that point to remote hosts.</dd>

        <dt><code><strong>-locexec</strong></code></dt>

        <dd>enable local program execution from local files only
        (if lynx was compiled with local execution enabled).</dd>

        <dt>
        <code><strong>-lss=</strong><em>FILENAME</em></code></dt>

        <dd>specify filename containing color-style information.
        The default is lynx.lss.</dd>

        <dt><code><strong>-mime_header</strong></code></dt>

        <dd>include mime headers and force source dump.</dd>

        <dt><code><strong>-minimal</strong></code></dt>

        <dd>toggles minimal versus valid comment parsing. When
        minimal, any '--&gt;' serves as a terminator for a comment
        element. When valid, pairs of '--' are treated as
        delimiters for series of comments within the overall
        comment element. If historical is set, that overrides
        minimal or valid comment parsing.</dd>

        <dt><code><strong>-nested_tables</strong></code></dt>

        <dd>toggles nested-tables logic (for debugging).</dd>

        <dt>
        <code><strong>-newschunksize=</strong><em>NUMBER</em></code></dt>

        <dd>number of articles in chunked news listings.</dd>

        <dt>
        <code><strong>-newsmaxchunk=</strong><em>NUMBER</em></code></dt>

        <dd>maximum news articles in listings before chunking.</dd>

        <dt><code><strong>-nobold</strong></code></dt>

        <dd>disable bold video-attribute.</dd>

        <dt><code><strong>-nobrowse</strong></code></dt>

        <dd>disable directory browsing.</dd>

        <dt><code><strong>-nocc</strong></code></dt>

        <dd>disable Cc: prompts for self copies of mailings. Note
        that this does not disable any CCs which are incorporated
        within a mailto URL or form ACTION.</dd>

        <dt><code><strong>-nocolor</strong></code></dt>

        <dd>force color mode off, overriding terminal capabilities
        and any <em>-color</em> flags, <em>COLORTERM</em> variable,
        and saved .lynxrc settings.</dd>

        <dt><code><strong>-noexec</strong></code></dt>

        <dd>disable local program execution. (DEFAULT)</dd>

        <dt><code><strong>-nofilereferer</strong></code></dt>

        <dd>disable transmissions of Referer headers for file
        URLs.</dd>

        <dt><code><strong>-nolist</strong></code></dt>

        <dd>disable the link list feature in dumps.</dd>

        <dt><code><strong>-nolog</strong></code></dt>

        <dd>disable mailing of error messages to document
        owners.</dd>

        <dt><code><strong>-nomargins</strong></code></dt>

        <dd>disable left/right margins in the default style
        sheet.</dd>

        <dt><code><strong>-nomore</strong></code></dt>

        <dd>disable -more- string in statusline messages.</dd>

        <dt>
        <code><strong>-nonrestarting_sigwinch</strong></code></dt>

        <dd>make window size change handler non-restarting. This
        flag is not available on all systems, Lynx needs to be
        compiled with HAVE_SIGACTION defined. If available, this
        flag <em>may</em> cause Lynx to react more immediately to
        window changes when run within an xterm.</dd>

        <dt><code><strong>-nopause</strong></code></dt>

        <dd>disable forced pauses for statusline messages.</dd>

        <dt><code><strong>-noprint</strong></code></dt>

        <dd>disable most print functions.</dd>

        <dt><code><strong>-noredir</strong></code></dt>

        <dd>don't follow URL redirections</dd>

        <dt><code><strong>-noreferer</strong></code></dt>

        <dd>disable transmissions of Referer headers.</dd>

        <dt><code><strong>-noreverse</strong></code></dt>

        <dd>disable reverse video-attribute.</dd>

        <dt><code><strong>-nosocks</strong></code></dt>

        <dd>disable SOCKS proxy usage by a SOCKSified Lynx.</dd>

        <dt><code><strong>-nostatus</strong></code></dt>

        <dd>disable the retrieval status messages.</dd>

        <dt><code><strong>-notitle</strong></code></dt>

        <dd>disable title and blank line from top of page.</dd>

        <dt><code><strong>-nounderline</strong></code></dt>

        <dd>disable underline video-attribute.</dd>

        <dt><code><strong>-number_fields</strong></code></dt>

        <dd>force numbering of links as well as form input
        fields.</dd>

        <dt><code><strong>-number_links</strong></code></dt>

        <dd>force numbering of links.</dd>

        <dt><code><strong>-partial</strong></code></dt>

        <dd>toggles displaying of partial pages while loading.</dd>

        <dt>
        <code><strong>-partial_thres=</strong><em>NUMBER</em></code></dt>

        <dd>number of lines to render before repainting display
        with partial-display logic.</dd>

        <dt>
        <code><strong>-pauth=</strong><em>ID:PW</em></code></dt>

        <dd>set authorization <em>identifier</em> and
        <em>password</em> for a protected proxy server at startup.
        Be sure to protect any script files which use this
        switch.</dd>

        <dt><code><strong>-popup</strong></code></dt>

        <dd>toggles handling of single-choice SELECT options via
        popup windows or as lists of radio buttons. The default
        configuration can be changed in userdefs.h or <a href=
        "#lynx.cfg">lynx.cfg</a>. It also can be set and saved via
        the 'o'ptions menu. The command line switch toggles the
        default.</dd>

        <dt><code><strong>-post_data</strong></code></dt>

        <dd>properly formatted data for a post form are read in
        from stdin and passed to the form. Input is terminated by a
        line that starts with '---'.</dd>

        <dt><code><strong>-preparsed</strong></code></dt>

        <dd>show source preparsed and reformatted when used with
        -source or in source view ('<em>\</em>'). May be useful for
        debugging of broken HTML markup to visualize the difference
        between SortaSGML and TagSoup <a href=
        "keystrokes/option_help.html#tagsoup">recovery modes</a>,
        switched by '<em>^V</em>'.</dd>

        <dt><code><strong>-prettysrc</strong></code></dt>

        <dd>do syntax highlighting and hyperlink handling in source
        view.</dd>

        <dt><code><strong>-print</strong></code></dt>

        <dd>enable print functions. (default)</dd>

        <dt><code><strong>-pseudo_inlines</strong></code></dt>

        <dd>toggles pseudo-ALTs for inline images with no ALT
        string.</dd>

        <dt><code><strong>-raw</strong></code></dt>

        <dd>toggles default setting of 8-bit character translations
        or CJK mode for the startup character set.</dd>

        <dt><code><strong>-realm</strong></code></dt>

        <dd>restricts access to URLs in the starting realm.</dd>

        <dt><code><strong>-reload</strong></code></dt>

        <dd>flushes the cache on a proxy server (only the first
        document affected).</dd>

        <dt><code><strong>-restrictions</strong></code></dt>

        <dd>allows a list of services to be disabled selectively
        and takes the following form:</dd>

        <dd><em>lynx
        -restrictions=[option][,option][,option]...</em></dd>

        <dd>
          The list of recognized options is printed if none are
          specified.

          <dl>
            <dt>?</dt>

            <dd>if used alone, lists restrictions in effect.</dd>

            <dt>all</dt>

            <dd>restricts all options listed below.</dd>

            <dt>bookmark</dt>

            <dd>disallow changing the location of the bookmark
            file.</dd>

            <dt>bookmark_exec</dt>

            <dd>disallow execution links via the bookmark
            file.</dd>

            <dt>change_exec_perms</dt>

            <dd>disallow changing the eXecute permission on files
            (but still allow it for directories) when local file
            management is enabled.</dd>

            <dt>chdir</dt>

            <dd>disallow command which changes Lynx's working
            directory.</dd>

            <dt>default</dt>

            <dd>same as command line option <em>-anonymous</em>.
            Set default restrictions for anonymous users. All
            specific services listed are always restricted, except
            for: inside_telnet, outside_telnet, inside_ftp,
            outside_ftp, inside_rlogin, outside_rlogin,
            inside_news, outside_news, telnet_port, jump, mail,
            print, exec, and goto. The settings for these, as well
            as additional goto restrictions for specific URL
            schemes that are also applied, are derived from
            definitions within userdefs.h.<br>
            Note that this is the only option value that may have
            the effect of <em>removing</em> some restrictions, if
            they have been set by other options, namely for those
            services that <em>are</em> allowed by default according
            to userdefs.h. However, if the separate command line
            option form (<em>-anonymous</em>) is used, Lynx takes
            care to set the default restrictions before handling
            additional <em>-restrictions=</em> options (even if
            they precede the <em>anonymous</em> option), so that
            this cannot happen.</dd>

            <dt>dired_support</dt>

            <dd>disallow local file management.</dd>

            <dt>disk_save</dt>

            <dd>disallow saving to disk in the download and print
            menus.</dd>

            <dt>dotfiles</dt>

            <dd>disallow access to, or creation of, hidden (dot)
            files.</dd>

            <dt>download</dt>

            <dd>disallow some downloaders in the download menu.
            This does <em>not</em> imply the disk_save restriction.
            It also does not disable the DOWNLOAD command, and does
            not prevent "Download or Cancel" offers when a MIME
            type cannot otherwise be handled. Those are only
            disabled if additionally the disk_save restriction is
            in effect <em>and</em> no download methods are defined
            in a <a href="#lynx.cfg">Lynx configuration file</a>
            that are marked as "always ENABLED" (or, alternatively,
            if the -validate switch is used).</dd>

            <dt>editor</dt>

            <dd>disallow external editing.</dd>

            <dt>exec</dt>

            <dd>disable execution scripts.</dd>

            <dt>exec_frozen</dt>

            <dd>disallow the user from changing the local execution
            option.</dd>

            <dt>externals</dt>

            <dd>disallow some "EXTERNAL" configuration lines, if
            support for passing URLs to external applications (with
            the EXTERN_LINK or EXTERN_PAGE command) is compiled
            in.</dd>

            <dt>file_url</dt>

            <dd>disallow using G)oto, served links or bookmarks for
            file: URLs.</dd>

            <dt>goto</dt>

            <dd>disable the '<em>g</em>' (goto) command.</dd>

            <dt>inside_ftp</dt>

            <dd>disallow ftps for people coming from inside your
            domain.</dd>

            <dt>inside_news</dt>

            <dd>disallow USENET news reading and posting for people
            coming from inside you domain. This applies to "news",
            "nntp", "newspost", and "newsreply" URLs, but not to
            "snews", "snewspost", or "snewsreply" in case they are
            supported.</dd>

            <dt>inside_rlogin</dt>

            <dd>disallow rlogins for people coming from inside your
            domain.</dd>

            <dt>inside_telnet</dt>

            <dd>disallow telnets for people coming from inside your
            domain.</dd>

            <dt>jump</dt>

            <dd>disable the '<em>j</em>' (jump) command.</dd>

            <dt>lynxcgi</dt>

            <dd>disallow execution of Lynx CGI URLs.</dd>

            <dt>mail</dt>

            <dd>disallow mailing feature.</dd>

            <dt>multibook</dt>

            <dd>disallow multiple bookmarks.</dd>

            <dt>news_post</dt>

            <dd>disallow USENET News posting,</dd>

            <dt>options_save</dt>

            <dd>disallow saving options in .lynxrc.</dd>

            <dt>outside_ftp</dt>

            <dd>disallow ftps for people coming from outside your
            domain.</dd>

            <dt>outside_news</dt>

            <dd>disallow USENET news reading and posting for people
            coming from outside you domain. This applies to "news",
            "nntp", "newspost", and "newsreply" URLs, but not to
            "snews", "snewspost", or "snewsreply" in case they are
            supported.</dd>

            <dt>outside_rlogin</dt>

            <dd>disallow rlogins for people coming from outside
            your domain.</dd>

            <dt>outside_telnet</dt>

            <dd>disallow telnets for people coming from outside
            your domain.</dd>

            <dt>print</dt>

            <dd>disallow most print options.</dd>

            <dt>shell</dt>

            <dd>disallow shell escapes.</dd>

            <dt>suspend</dt>

            <dd>disallow <em>Control-Z</em> suspends with escape to
            shell on Unix.</dd>

            <dt>telnet_port</dt>

            <dd>disallow specifying a port in telnet G)oto's.</dd>

            <dt>useragent</dt>

            <dd>disallow modifications of the User-Agent
            header.</dd>
          </dl>
        </dd>

        <dt><code><strong>-resubmit_posts</strong></code></dt>

        <dd>toggles forced resubmissions (no-cache) of forms with
        method POST when the documents they returned are sought
        with the PREV_DOC (<em>left-arrow</em>) command or from the
        <em>History Page</em>.</dd>

        <dt><code><strong>-rlogin</strong></code></dt>

        <dd>disable recognition of rlogin commands.</dd>

        <dt><code><strong>-scrollbar</strong></code></dt>

        <dd>toggles showing scrollbar.</dd>

        <dt><code><strong>-scrollbar_arrow</strong></code></dt>

        <dd>toggles showing arrows at ends of the scrollbar.</dd>

        <dt><code><strong>-selective</strong></code></dt>

        <dd>require .www_browsable files to browse
        directories.</dd>

        <dt>
        <code><strong>-session=</strong><em>FILENAME</em></code></dt>

        <dd>resumes from specified file on startup and saves
        session to that file on exit.</dd>

        <dt>
        <code><strong>-sessionin=</strong><em>FILENAME</em></code></dt>

        <dd>resumes session from specified file.</dd>

        <dt>
        <code><strong>-sessionout=</strong><em>FILENAME</em></code></dt>

        <dd>saves session to specified file.</dd>

        <dt><code><strong>-short_url</strong></code></dt>

        <dd>show very long URLs in the status line with "..." to
        represent the portion which cannot be displayed. The
        beginning and end of the URL are displayed, rather than
        suppressing the end.</dd>

        <dt><code><strong>-show_cursor</strong></code></dt>

        <dd>If enabled the cursor will not be hidden in the right
        hand corner but will instead be positioned at the start of
        the currently selected link. Show cursor is the default for
        systems without FANCY_CURSES capabilities. The default
        configuration can be changed in userdefs.h or <a href=
        "#lynx.cfg">lynx.cfg</a>. It also can be set and saved via
        the 'o'ptions menu. The command line switch toggles the
        default.</dd>

        <dt><code><strong>-show_rate</strong></code></dt>

        <dd>If enabled the transfer rate is shown in bytes/second.
        If disabled, no transfer rate is shown. Use lynx.cfg or the
        options menu to select KiB/second and/or ETA.</dd>

        <dt><code><strong>-soft_dquotes</strong></code></dt>

        <dd>toggles emulation of the old Netscape and Mosaic bug
        which treated '<em>&gt;</em>' as a co-terminator for
        double-quotes and tags.</dd>

        <dt><code><strong>-source</strong></code></dt>

        <dd>
          works the same as dump but outputs HTML source instead of
          formatted text. For example
          <pre>
<tt>
                    lynx -source . &gt;foo.html
                    </tt>
</pre>

          <p>generates HTML source listing the files in the current
          directory. Each file is marked by an HREF relative to the
          parent directory. Add a trailing slash to make the HREF's
          relative to the current directory:</p>
          <pre>
<tt>
                    lynx -source ./ &gt;foo.html
                    </tt>
</pre>
        </dd>

        <dt><code><strong>-stack_dump</strong></code></dt>

        <dd>disable SIGINT cleanup handler.</dd>

        <dt><code><strong>-startfile_ok</strong></code></dt>

        <dd>allow non-http startfile and homepage with
        <em>-validate</em>.</dd>

        <dt><code><strong>-stderr</strong></code></dt>

        <dd>When dumping a document using
        <code><strong>-dump</strong></code> or
        <code><strong>-source</strong></code>, Lynx normally does
        not display alert (error) messages that you see on the
        screen in the status line. Use the
        <code><strong>-stderr</strong></code> option to tell Lynx
        to write these messages to the standard error.</dd>

        <dt><code><strong>-stdin</strong></code></dt>

        <dd>read the startfile from standard input (UNIX
        only).</dd>

        <dt>
        <code><strong>-syslog=</strong><em>text</em></code></dt>

        <dd>information for syslog call.</dd>

        <dt><code><strong>-syslog-urls</strong></code></dt>

        <dd>log requested URLs with syslog.</dd>

        <dt><code><strong>-tagsoup</strong></code></dt>

        <dd>initialize DTD with "TagSoup" tables, <a href=
        "keystrokes/option_help.html#tagsoup">more
        details</a>.</dd>

        <dt><code><strong>-telnet</strong></code></dt>

        <dd>disable recognition of telnet commands.</dd>

        <dt><code><strong>-term=</strong><em>TERM</em></code></dt>

        <dd>tell Lynx what terminal type to assume it is talking
        to. (This may be useful for remote execution, when, for
        example, Lynx connects to a remote TCP/IP port that starts
        a script that, in turn, starts another Lynx process.)</dd>

        <dt><code><strong>-timeout=</strong><em>N</em></code></dt>

        <dd>For win32, sets the network read-timeout, where
        <em>N</em> is given in seconds.</dd>

        <dt><code><strong>-tlog</strong></code></dt>

        <dd>toggles use of a <em>Lynx Trace Log</em> for the
        session. The log is named <em>Lynx.trace</em> and is
        created in the home directory when Lynx trace mode is
        turned on via the <em>-trace</em> command line switch (see
        below), or via the TRACE_TOGGLE (<em>Control-T</em>)
        keystroke command. Once a log is started for the session,
        all trace and other stderr messages are written to the log.
        The contents of the log can be examined during the session
        via the TRACE_LOG (normally, '<em>;</em>') keystroke
        command. If use of a Lynx Trace Log is turned off, any
        trace output will go to the standard error stream.</dd>

        <dt><code><strong>-tna</strong></code></dt>

        <dd>turns on <a href="#tna">"Textfields Need
        Activation"</a> mode.</dd>

        <dt><code><strong>-trace</strong></code></dt>

        <dd>turns on Lynx trace mode. If a Lynx Trace Log
        (<em>Lynx.trace</em> in the home directory) has been
        started for the current session, all trace messages are
        written to that log, and can be examined during the session
        via the TRACE_LOG (normally, '<em>;</em>') command. If no
        Trace Log file is in use, trace messages go to stderr.</dd>

        <dt>
        <code><strong>-trace_mask=</strong><em>value</em></code></dt>

        <dd>
          turn on optional traces, which may result in very large
          trace files. Logically OR the values to combine options:

          <dl>
            <dt>1</dt>

            <dd>SGML character parsing states</dd>

            <dt>2</dt>

            <dd>color-style</dd>

            <dt>4</dt>

            <dd>TRST (table layout)</dd>

            <dt>8</dt>

            <dd>config (lynx.cfg and .lynxrc contents)</dd>

            <dt>16</dt>

            <dd>binary string copy/append, used in form data
            construction.</dd>
          </dl>
        </dd>

        <dt><code><strong>-traversal</strong></code></dt>

        <dd>traverse all http links derived from startfile. When
        used with <em>-crawl</em>, each link that begins with the
        same string as startfile is output to a file, intended for
        indexing. See CRAWL.announce for more information.</dd>

        <dt><code><strong>-trim_input_fields</strong></code></dt>

        <dd>trim input text/textarea fields in forms.</dd>

        <dt><code><strong>-underscore</strong></code></dt>

        <dd>toggles use of _underline_ format in dumps.</dd>

        <dt><code><strong>-use_mouse</strong></code></dt>

        <dd>turn on mouse support, if available.</dd>

        <dt>
        <code><strong>-useragent=</strong><em>STRING</em></code></dt>

        <dd>set different Lynx User-Agent header. Lynx produces a
        warning on startup if the <em>STRING</em> does not contain
        "Lynx" or "L_y_n_x", see the <a href="#noteUA">note</a> in
        the Options Menu section for rationale.</dd>

        <dt><code><strong>-validate</strong></code></dt>

        <dd>accept only http URLs (meant for validation).</dd>

        <dd>This flag implies security restrictions generally more
        severe than <em>-anonymous</em>: restriction options as for
        <em>-restrictions=all</em>, with the notable exception that
        goto remains enabled for http and https URLs; in addition,
        the PRINT and DOWNLOAD commands are completely disabled,
        and use of a Trace Log file is forced off.</dd>

        <dd>Any relaxing of restriction that might be implied by an
        also present (or implied) <em>-anonymous</em> flag is
        overridden, the only way to possibly relax <em>some</em> of
        the restrictions to the level applicable for "anononymous"
        accounts is with an explicit
        <em>-restrictions=default</em>.</dd>

        <dt><code><strong>-verbose</strong></code></dt>

        <dd>toggles [LINK], [IMAGE] and [INLINE] comments with
        filenames of these images.</dd>

        <dt><code><strong>-version</strong></code></dt>

        <dd>print version information.</dd>

        <dt><code><strong>-vikeys</strong></code></dt>

        <dd>enable vi-like key movement.</dd>

        <dt><code><strong>-wdebug</strong></code></dt>

        <dd>enable Waterloo tcp/ip packet debug (print to watt
        debugfile). This applies only to DOS versions compiled with
        WATTCP or WATT-32.</dd>

        <dt>
        <code><strong>-width=</strong><em>NUMBER</em></code></dt>

        <dd>number of columns for formatting of dumps, default is
        80.</dd>

        <dt><code><strong>-with_backspaces</strong></code></dt>

        <dd>emit backspaces in output if -dumping or -crawling
        (like <code>man</code> does).</dd>
      </dl>
    </dd>
  </dl>

  <p>No options are required, nor is a startfile argument required.
  White space can be used in place of equal sign separators
  ('<em>=</em>') appearing in the option list above. It can not be
  used in place of the equal signs in forms like "-option=on" and
  "-option=off" for simple switches and toggles, for which
  "-option" alone (without a value) is valid.</p>

  <p>[<a href="#ToC-Invoking">ToC</a>]</p>

  <h2 id="Environments"><a name="Environment" id=
  "Environment"><em>Environment variables used by
  Lynx</em></a></h2>

  <p>Lynx uses certain environment variables and sets a few of
  them. Please visit a <a href=
  "keystrokes/environments.html">separate page</a> for this rather
  technical information.</p>

  <p>[<a href="#ToC-Environment">ToC</a>]</p>

  <h2 id="id-lynx.cfg"><a name="lynx.cfg" id="lynx.cfg">Main
  configuration file lynx.cfg</a></h2>

  <p>Lynx has several levels of customization: from the Options
  Menu (accessible on-line, and possibly stored in your local
  .lynxrc file), via command-line switches on startup (mainly for
  batch processing). The most important and numerous default
  settings are stored in the Lynx configuration file
  <em>lynx.cfg</em>.</p>

  <p>If you are on a UNIX system you should have appropriate
  permissions to make changes there or ask your system
  administrator to modify lynx.cfg for your needs. This file
  provides default settings for all accounts on your system. It may
  be copied to your shell account and included with -cfg command
  line switch or via an environment variable LYNX_CFG (if you have
  shell access). Starting with version 2.8.1 Lynx has an include
  facility so you can load the system-wide configuration file and
  easily add one or more settings from your local add-on
  configuration file. It is really cool to read lynx.cfg with its
  comments for hundreds of options, most of them commented out
  because they are built-in defaults. You may visit an index of
  options: <a href=
  "http://lynx.isc.org/release/breakout/lynx_help/cattoc.html">by
  category</a> or <a href=
  "http://lynx.isc.org/release/breakout/lynx_help/alphatoc.html">by
  alphabet</a>.</p>

  <p>To view your current configuration derived from lynx.cfg and
  any included configuration files, press <em>'g'</em> and type in
  '<em>lynxcfg:</em>'. If you are using the forms-based <em>Options
  Menu</em>, you may press <em>'o'</em> for the Options Menu and
  follow the '<em>Check your lynx.cfg</em>' link near the
  bottom.</p>

  <p>However, for those who have a restricted account many Lynx
  features may be disabled by the system administrator, you
  probably will not see your lynx.cfg.</p>

  <p>[<a href="#ToC-lynx.cfg">ToC</a>]</p>

  <h2 id="id-Hist"><a name="Hist" id="Hist">Lynx development
  history</a></h2>

  <p>Lynx grew out of efforts to build a campus-wide information
  system at The University of Kansas. The earliest versions of Lynx
  provided a user-friendly, distributed hypertext interface for
  users connected to multiuser (Unix and VMS) systems via
  curses-oriented display devices. A custom hypertext format was
  developed to support hypertext links to local files and files on
  remote Gopher servers. Using Gopher servers for distributed file
  service allowed information providers to publish information from
  a wide variety of platforms (including Unix, VMS, VM/CMS and
  Macintosh). In addition, Lynx became the most user-friendly
  Gopher client, although that was only an ancillary
  capability.</p>

  <p>This distributed approach let providers retain complete
  control over their information, but it made communication between
  users and providers somewhat more difficult. Following the lead
  of Neal Erdwien, of Kansas State University, the Lynx hypertext
  format was extended to include links for including ownership
  information with each file. This information made it possible for
  users running Lynx clients to send comments and suggestions via
  e-mail to the providers.</p>

  <p>This early version of Lynx was also augmented to support
  hypertext links to programs running on remote systems. It
  included the ability to open a Telnet connection, as well as the
  ability to start programs via rexec, inetd, or by direct socket
  connects. These capabilities were included to allow users to
  access databases or custom program interfaces.</p>

  <p>A subsequent version of Lynx incorporated the World Wide Web
  libraries to allow access to the full list of WWW servers, along
  with the option to build hypertext documents in HTML, rather than
  the native Lynx format. HTML has become far more widely used, and
  the native format has been phased out. With the addition of the
  WWW libraries, Lynx became a fully-featured WWW client, limited
  only by the display capabilities offered in the curses
  environment.</p>

  <p>Lynx was designed by Lou Montulli, Charles Rezac and Michael
  Grobe of Academic Computing Services at The University of Kansas.
  Lynx was implemented by Lou Montulli and maintained by Garrett
  Arch Blythe and Craig Lavender.</p>

  <p><em>Foteos Macrides</em> and members of the <a href=
  "lynx-dev.html">lynx-dev</a> list have developed and supported
  Lynx since release of v2.3 in May 1994.<br>
  The Lynx2-3FM code set was released as v2.4 in June 1995.<br>
  The Lynx2-4FM code set was released as v2.5 in May 1996.<br>
  The Lynx2-5FM code set was released as v2.6 in September
  1996.<br>
  The Lynx2-6FM code set was released as v2.7 in February 1997.<br>
  The v2-7FM code set was released as v2.7.1 in April 1997.<br>
  The v2-7-1FM code set was released as v2.7.2 in January 1998.<br>
  The 2.7.1 development set was released as v2.8 in March 1998.<br>
  The 2.8 development set was released as v2.8.1 in October
  1998.<br>
  The 2.8.1 development set was released as v2.8.2 in June
  1999.<br>
  The 2.8.2 development set was released as v2.8.3 in April
  2000.<br>
  The 2.8.3 development set was released as v2.8.4 in July
  2001.<br>
  The 2.8.4 development set was released as v2.8.5 in February
  2004.<br>
  The 2.8.5 development set was released as v2.8.6 in October
  2006.<br>
  The 2.8.6 development set was released as v2.8.7 in July
  2009.<br>
  The 2.8.7 development set was released as v2.8.8 in February
  2014.<br></p>

  <p>Since early 1997, the Lynx code has expanded into
  autoconfigure and PC versions. The branching of the Lynx source
  base from a single source into two sources (FM/Foteos Macrides
  and ac/autoconfigure) should be considered a healthy synergism
  among groups of computer professionals acting in their spare time
  out of a common goal.</p>

  <p>Lynx has incorporated code from a variety of sources along the
  way. The earliest versions of Lynx included code from Earl Fogel
  of Computing Services at the University of Saskatchewan, who
  implemented HYPERREZ in the Unix environment. Those versions also
  incorporated libraries from the Unix Gopher clients developed at
  the University of Minnesota, and the later versions of Lynx rely
  on the WWW client library code developed by Tim Berners-Lee (and
  others) and the WWW community.</p>

  <p>Contributors have generally been acknowledged in the CHANGES
  file. Earlier CHANGES file can be found in the docs/ subdirectory
  of this distribution.</p>

  <p>Information on obtaining the most current version of Lynx is
  available at <a href="http://lynx.isc.org/current/index.html">the
  current distribution page</a>.</p>

  <p>[<a href="#Contents">ToC</a>]</p>
</body>
</html>
